@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/sora-latin-ext-wght-normal.CawQDOvP.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/sora-latin-wght-normal.DdqRvwsR.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#05080f;--bg-2:#0a1120;--surface:#0c1321ad;--surface-solid:#0c1321;--line:#a0c8d224;--line-strong:#a0c8d24d;--text:#e9f1f2;--muted:#a3b5bc;--faint:#73878f;--accent:#5ec9a2;--accent-hi:#a5f3d3;--accent-ink:#04130d;--coral:#ff8a70;--glow:#5ec9a252;--font-display:"Sora Variable", "Sora", system-ui, sans-serif;--font-body:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--wrap:1180px;--gutter:clamp(20px, 5vw, 56px);--radius:18px;color-scheme:dark}:root[data-theme=light]{--bg:#f3f7f5;--bg-2:#e3eee9;--surface:#fffc;--surface-solid:#fff;--line:#0c282221;--line-strong:#0c282247;--text:#0c1a18;--muted:#45585a;--faint:#6b7d7e;--accent:#17805a;--accent-hi:#0f5c40;--accent-ink:#fff;--coral:#cf4029;--glow:#17805a33;color-scheme:light}:root{--accent:#ff9ebb;--accent-hi:#ffd3df;--accent-ink:#2a0a16;--glow:#ff78a042;--tint:#aa5ac824;--bg:#0d0810;--bg-2:#170d1b;--d1:#ff9ebb;--d2:#ffc2d4;--d3:#f7a8c8;--d4:#ffd9e4;--font-jp:"Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", "Songti SC", serif;--font-ja:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", "Noto Sans JP", "Noto Sans CJK JP", Meiryo, sans-serif}:root[data-theme=light]{--accent:#c2386b;--accent-hi:#8f1f4a;--accent-ink:#fff;--glow:#ff96b959;--tint:#c896e633;--bg:#fff6f8;--bg-2:#fbe6ec;--d1:#d6457a;--d2:#e7799f;--d3:#c2386b;--d4:#f09cb8}*,:before,:after{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:84px}body{font-family:var(--font-body);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.65;overflow-x:hidden}body:before{content:"";z-index:-2;background:radial-gradient(60% 55% at 82% 8%, var(--glow), transparent 70%), radial-gradient(50% 45% at 6% 96%, var(--tint), transparent 70%), linear-gradient(180deg, var(--bg), var(--bg-2));position:fixed;inset:0}#scene{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.scene-fallback{z-index:-1;pointer-events:none;background-image:radial-gradient(var(--line-strong) 1px, transparent 1.4px);background-size:26px 26px;display:none;position:fixed;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 75% 30%,#000,#0000 75%);mask-image:radial-gradient(70% 60% at 75% 30%,#000,#0000 75%)}.no-scene .scene-fallback{display:block}.no-scene #scene{display:none}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:0;line-height:1.08}p{margin:0}a{color:inherit}img{max-width:100%;height:auto;display:block}ul,ol{margin:0;padding:0;list-style:none}strong{color:var(--text);font-weight:650}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}::selection{background:var(--accent);color:var(--accent-ink)}.wrap{width:min(100% - 2 * var(--gutter), var(--wrap));margin-inline:auto}.skip{z-index:100;background:var(--accent);color:var(--accent-ink);border-radius:10px;padding:10px 14px;position:absolute;top:8px;left:-999px}.skip:focus{left:12px}.glass{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(10px)saturate(1.25)}.progress{z-index:60;background:linear-gradient(90deg, var(--d1), var(--d2), var(--d3), var(--d4));transform-origin:0;height:2px;position:fixed;inset:0 0 auto;transform:scaleX(0)}.nav{z-index:50;border-bottom:1px solid #0000;transition:background .3s,border-color .3s;position:fixed;inset:0 0 auto}.nav.scrolled{background:var(--surface);border-bottom-color:var(--line);backdrop-filter:blur(14px)saturate(1.3)}.nav-inner{align-items:center;gap:24px;height:68px;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.04em;font-size:1.3rem;font-weight:800;text-decoration:none}.brand span{color:var(--accent)}.nav-links{gap:4px;margin-left:auto;display:flex}.nav-links a{color:var(--muted);border-radius:999px;padding:8px 14px;font-size:.92rem;font-weight:500;text-decoration:none;transition:color .2s,background .2s}.nav-links a:hover,.nav-links a.active{color:var(--text);background:var(--line)}.nav-actions{align-items:center;gap:12px;display:flex}.theme{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:999px;width:52px;height:28px;padding:0;position:relative}.theme i{background:var(--accent);border-radius:50%;place-items:center;width:20px;height:20px;transition:transform .3s cubic-bezier(.3,1.4,.5,1);display:grid;position:absolute;top:3px;left:3px}.theme[aria-checked=true] i{transform:translate(24px)}.theme svg{width:12px;height:12px;color:var(--accent-ink)}.theme .sun,.theme[aria-checked=true] .moon{display:none}.theme[aria-checked=true] .sun{display:block}.lang{border:1px solid var(--line-strong);background:var(--surface);font:600 .8rem/1 var(--font-body), var(--font-ja);color:var(--muted);white-space:nowrap;border-radius:999px;padding:7px 12px;text-decoration:none;transition:color .2s,border-color .2s}.lang:hover{color:var(--text);border-color:var(--accent)}.btn{font:600 .95rem/1 var(--font-body);cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);border-radius:999px;align-items:center;gap:9px;padding:12px 20px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s,background .2s;display:inline-flex}.btn:hover{border-color:var(--accent);transform:translateY(-2px)}.btn svg{flex:none;width:17px;height:17px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 8px 30px -8px var(--glow)}.btn.primary:hover{box-shadow:0 12px 36px -6px var(--glow)}.btn.small{padding:9px 16px;font-size:.88rem}.pills{flex-wrap:wrap;gap:8px;display:flex}.pill{border:1px solid var(--line-strong);color:var(--muted);background:var(--surface);border-radius:999px;padding:6px 13px;font-size:.84rem;font-weight:550}.hero{flex-direction:column;justify-content:center;min-height:100svh;padding:108px 0 40px;display:flex;position:relative;overflow-x:clip}.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(24px,5vw,72px);display:grid}.kicker{font:600 .82rem/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}.hero h1{letter-spacing:-.045em;font-size:clamp(3rem,7.4vw,6rem);font-weight:800;line-height:.96}.hero h1 span{background:linear-gradient(100deg, var(--text) 5%, var(--accent-hi) 55%, var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text;padding-bottom:.08em;display:block}.kana{font:500 .92rem/1.2 var(--font-body);letter-spacing:.3em;color:var(--muted);margin-top:12px}.role{font:600 clamp(1.1rem, 2vw, 1.4rem) / 1.3 var(--font-display);color:var(--accent);min-height:1.4em;margin-top:20px}.caret{background:var(--accent);vertical-align:-.16em;width:2px;height:1.05em;margin-left:3px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.lede{max-width:34.5em;color:var(--muted);margin-top:20px;font-size:1.08rem}.hero .pills{margin-top:22px}.cta-row{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.contacts{flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;display:flex}.contacts a{border:1px solid var(--line-strong);background:var(--surface);width:42px;height:42px;color:var(--muted);border-radius:50%;place-items:center;transition:color .2s,border-color .2s,transform .2s;display:grid}.contacts a:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.contacts svg{width:18px;height:18px}.avail{color:var(--muted);align-items:center;gap:9px;margin-left:6px;font-size:.88rem;font-weight:550;display:inline-flex}.avail i{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 0 var(--glow);border-radius:50%;animation:2.2s infinite ping}@keyframes ping{70%{box-shadow:0 0 0 9px #0000}to{box-shadow:0 0 #0000}}.stage{aspect-ratio:1;perspective:1100px;width:min(100%,470px);margin-inline:auto;position:relative}.stage-inner{transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease-out;position:absolute;inset:0}.stage-photo{transform-style:preserve-3d;position:absolute;inset:0}.ring{border:1px solid var(--line-strong);border-radius:50%;position:absolute}.ring-1{background:radial-gradient(closest-side, var(--glow), transparent 78%);inset:4%;transform:translateZ(-70px)}.ring-2{border-style:dashed;border-color:var(--line);animation:60s linear infinite turn;inset:-7%;transform:translateZ(-130px)}@keyframes turn{to{transform:translateZ(-130px)rotate(360deg)}}.portrait{object-fit:contain;-webkit-mask-composite:source-in;filter:drop-shadow(0 22px 40px #00000073);width:100%;height:100%;position:absolute;inset:0;transform:translateZ(30px);-webkit-mask-image:linear-gradient(#000 74%,#0000 98%),linear-gradient(90deg,#0000,#000 9% 91%,#0000);mask-image:linear-gradient(#000 74%,#0000 98%),linear-gradient(90deg,#0000,#000 9% 91%,#0000);mask-composite:intersect}.chip{color:var(--muted);background:var(--surface);border:1px solid var(--line-strong);backdrop-filter:blur(10px);white-space:nowrap;border-radius:14px;flex-direction:column;gap:3px;padding:11px 15px;font-size:.78rem;line-height:1.2;display:flex;position:absolute;box-shadow:0 16px 40px -18px #0009}.chip b{font:700 1.12rem/1 var(--font-display);color:var(--text);letter-spacing:-.02em}.chip-a{top:15%;left:-5%;transform:translateZ(100px)}.chip-b{top:46%;right:-6%;transform:translateZ(120px)}.chip-c{bottom:9%;left:0;transform:translateZ(90px)}.chip-c b{color:var(--accent)}.stats{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:16px;margin-top:clamp(36px,6vh,64px);padding-top:28px;display:grid}.stats div{flex-direction:column;gap:6px;display:flex}.stats dt{color:var(--muted);order:2;font-size:.86rem}.stats dd{font:700 clamp(1.9rem, 3.6vw, 2.9rem) / 1 var(--font-display);letter-spacing:-.04em;color:var(--accent);font-variant-numeric:tabular-nums;margin:0}.section{padding:clamp(84px,13vh,150px) 0;position:relative}.eyebrow{font:600 .8rem/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);align-items:center;gap:12px;margin-bottom:16px;display:flex}.eyebrow:before{content:attr(data-num);font:400 1.6rem/1 var(--font-jp);letter-spacing:0;color:var(--accent)}.eyebrow:after{content:"";background:linear-gradient(90deg, var(--d1) 25%, var(--d2) 25% 50%, var(--d3) 50% 75%, var(--d4) 75%);border-radius:2px;width:64px;height:2px}.section h2{font-size:clamp(2.1rem,4.6vw,3.5rem);font-weight:700}.section h2 em,.case-hero h1 em{background:linear-gradient(90deg, var(--d1), var(--d2), var(--d3), var(--d4));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.section-lede{max-width:36em;color:var(--muted);margin-top:18px}.col{max-width:640px}.season{isolation:isolate;position:relative}.season-mark{z-index:-1;top:clamp(70px,10vh,120px);right:var(--gutter);font:400 clamp(170px, 27vw, 400px) / .9 var(--font-jp);color:var(--accent);opacity:.1;pointer-events:none;user-select:none;position:absolute}.hero .season-mark{top:auto;right:auto;left:calc(var(--gutter) - 1vw);bottom:3vh}.rail{z-index:40;flex-direction:column;gap:10px;display:flex;position:fixed;top:50%;right:18px;transform:translateY(-50%)}.rail a{width:36px;height:36px;font:400 1.05rem/1 var(--font-jp);color:var(--muted);border:1px solid var(--line-strong);background:var(--surface);backdrop-filter:blur(8px);border-radius:50%;place-items:center;text-decoration:none;transition:color .3s,background .3s,border-color .3s,transform .3s;display:grid}.rail a:hover{color:var(--text);border-color:var(--accent)}.rail a.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);transform:scale(1.12)}.motto{font:600 clamp(1.25rem, 2.3vw, 1.7rem) / 1.25 var(--font-display);letter-spacing:-.02em;color:var(--text);margin-top:18px}.motto em{color:var(--accent);font-style:normal}.motto-seasons{font:400 1.05rem/1 var(--font-jp);letter-spacing:.5em;color:var(--accent);opacity:.8;margin-top:8px;display:block}.block{margin-top:clamp(64px,10vh,110px)}.umbrella{--size:min(112vmin, 1120px);z-index:5;width:var(--size);aspect-ratio:1;top:50%;left:calc(max(var(--gutter), (100vw - var(--wrap)) / 2) + 530px + var(--size) / 2);pointer-events:none;visibility:hidden;color:#fff;--autumn:0;position:fixed;transform:translate(-50%,-50%)}.umbrella.on{visibility:visible}:root[data-theme=light] .umbrella{color:#5d7286}.umbrella-rotor{backdrop-filter:blur(calc(var(--autumn) * 5px)) brightness(calc(1 + var(--autumn) * .06));animation:90s linear infinite umbrella-turn;position:absolute;inset:0}@keyframes umbrella-turn{to{transform:rotate(360deg)}}.umbrella svg,.umbrella canvas{width:100%;height:100%;opacity:var(--autumn);position:absolute;inset:0}#experience .job,#experience h2,#experience .section-lede,#experience .cards{position:relative}#experience .job{transition:transform .25s ease-out,box-shadow .25s ease-out,background .25s}#experience .job:hover,#experience .job:focus{z-index:6;background:var(--surface-solid);outline:none;transform:translateY(-4px);box-shadow:0 22px 50px -24px #000000b3}#experience h2:hover,#experience .section-lede:hover,#experience .cards:hover,#experience .cards:focus-within{z-index:6}.garland{z-index:-1;width:100%;height:64px;color:var(--muted);pointer-events:none;position:absolute;top:0;left:0}.bulb ellipse{filter:drop-shadow(0 0 5px);animation:2.8s ease-in-out infinite twinkle;animation-delay:calc(var(--i) * -.41s)}@keyframes twinkle{50%{opacity:.35}}.timeline{gap:18px;margin-top:44px;display:grid;position:relative}.job{padding:24px 26px 24px 30px;position:relative}.job:before{content:"";background:linear-gradient(var(--accent), transparent);border-radius:3px;width:3px;position:absolute;top:26px;bottom:26px;left:0}.job-head{flex-wrap:wrap;align-items:baseline;gap:6px 14px;display:flex}.job h3{letter-spacing:-.02em;font-size:1.22rem;font-weight:650}.job-when{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.84rem;font-weight:600}.job-meta{color:var(--muted);margin-top:5px;font-size:.95rem}.now{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:999px;align-items:center;gap:6px;margin-left:8px;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.now i{background:var(--accent);border-radius:50%;width:6px;height:6px}.job ul{gap:8px;margin-top:14px;display:grid}.job li{color:var(--muted);padding-left:20px;font-size:.97rem;position:relative}.job li:before{content:"";border:1.5px solid var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:.72em;left:2px}.bus{align-items:center;min-height:100svh;display:flex}.tiles{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:30px;display:grid}.tile{padding:18px 20px 18px 24px;position:relative}.tile:before{content:"";background:var(--d1);border-radius:3px;width:3px;position:absolute;top:20px;bottom:20px;left:0}.tile:nth-child(4n+2):before{background:var(--d2)}.tile:nth-child(4n+3):before{background:var(--d3)}.tile:nth-child(4n+4):before{background:var(--d4)}.bus .pill:nth-child(4n+1),.prose .pill:nth-child(4n+1){border-color:var(--d1)}.bus .pill:nth-child(4n+2),.prose .pill:nth-child(4n+2){border-color:var(--d2)}.bus .pill:nth-child(4n+3),.prose .pill:nth-child(4n+3){border-color:var(--d3)}.bus .pill:nth-child(4n+4),.prose .pill:nth-child(4n+4){border-color:var(--d4)}.tile b{font:700 clamp(1.8rem, 3.2vw, 2.5rem) / 1 var(--font-display);letter-spacing:-.04em;color:var(--text);font-variant-numeric:tabular-nums;display:block}.tile span{color:var(--muted);margin-top:7px;font-size:.88rem;line-height:1.35;display:block}.checks{gap:11px;margin-top:26px;display:grid}.checks li{color:var(--muted);padding-left:28px;font-size:.98rem;position:relative}.checks li:before{content:"";border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);width:14px;height:8px;position:absolute;top:.42em;left:2px;transform:rotate(-45deg)scale(.8)}.scene-window{display:none}.chart{--series:#e56b52;margin:14px 0 0;padding:14px 14px 12px}:root[data-theme=light] .chart{--series:#cf4029}.kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.kpi{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid #0000;border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;transition:background .2s,border-color .2s;display:flex;position:relative}.kpi:hover{background:var(--line)}.kpi:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kpi[aria-pressed=true]{background:var(--line);border-color:var(--line-strong)}.kpi[aria-pressed=true]:after{content:"";background:var(--series);border-radius:2px;height:2px;position:absolute;bottom:5px;left:14px;right:14px}.kpi-label{font:600 .7rem/1.2 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.kpi-value{font:700 clamp(1.45rem, 3vw, 2.15rem) / 1.05 var(--font-display);letter-spacing:-.035em;color:var(--muted);font-variant-numeric:tabular-nums;transition:color .2s}.kpi[aria-pressed=true] .kpi-value{color:var(--text)}.kpi-delta{color:var(--faint);padding-bottom:6px;font-size:.74rem;line-height:1.3}.chart-plot{cursor:crosshair;touch-action:pan-y;border-radius:8px;min-height:200px;margin-top:10px;position:relative}.chart-plot svg{display:block;overflow:visible}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .axis{stroke:var(--line-strong);stroke-width:1px}.chart .tick{font:500 11px var(--font-body);fill:var(--faint);font-variant-numeric:tabular-nums}.chart .fade-top{stop-color:var(--series);stop-opacity:.3}.chart .fade-bottom{stop-color:var(--series);stop-opacity:.02}.chart .line{fill:none;stroke:var(--series);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;filter:drop-shadow(0 0 7px color-mix(in srgb, var(--series) 60%, transparent))}.js .chart.in .line{animation:1.4s cubic-bezier(.3,.7,.2,1) both chart-draw}.js .chart.in .area{animation:.9s ease-out .4s both chart-fade}@keyframes chart-draw{0%{stroke-dashoffset:1px}}@keyframes chart-fade{0%{opacity:0}}.chart .dot{fill:var(--series);stroke:var(--surface-solid);stroke-width:2px}.chart .halo{fill:var(--series);transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out infinite chart-pulse}@keyframes chart-pulse{0%{opacity:.5;transform:scale(.8)}to{opacity:0;transform:scale(3.2)}}.chart .cross{stroke:var(--line-strong);stroke-width:1px}.chart-tip{z-index:2;pointer-events:none;background:var(--surface-solid);border:1px solid var(--line-strong);color:var(--muted);white-space:nowrap;border-radius:10px;padding:8px 11px;font-size:.78rem;line-height:1.45;position:absolute;box-shadow:0 10px 30px -12px #0009}.chart-tip b{color:var(--text);font-size:.92rem;font-weight:650;display:block}.chart-tip i{background:var(--series);vertical-align:middle;border-radius:1px;width:12px;height:2px;margin-right:7px;display:inline-block}.chart-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:4px 16px;margin:8px 4px 0;font-size:.76rem;display:flex}.chart-src{color:var(--faint)}.chart-table{color:var(--muted);margin:6px 4px 0;font-size:.82rem}.chart-table summary{cursor:pointer;width:fit-content;padding:4px 0}.chart-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:8px}.chart-table th,.chart-table td{text-align:right;border-bottom:1px solid var(--line);padding:6px 8px;font-weight:400}.chart-table thead th{color:var(--text);font-weight:600}.chart-table th:first-child{text-align:left;padding-left:0}.cards{perspective:1400px;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px;display:grid}.card{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;flex-direction:column;gap:12px;padding:26px;transition:transform .18s ease-out,border-color .2s;display:flex;position:relative;overflow:hidden}.card:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%), var(--glow), transparent 65%);transition:opacity .25s;position:absolute;inset:0}.card:hover{border-color:var(--line-strong)}.card:hover:after{opacity:.55}.card-icon{width:46px;height:46px;color:var(--accent);background:var(--line);border-radius:13px;place-items:center;display:grid;transform:translateZ(26px)}.card-icon svg{width:22px;height:22px}.card h3{font-size:1.28rem;font-weight:650;transform:translateZ(18px)}.card-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-size:.74rem;font-weight:650}.card p{color:var(--muted);font-size:.96rem}.card-link{color:var(--accent);z-index:1;margin-top:auto;padding-top:8px;font-size:.93rem;font-weight:600;text-decoration:none;position:relative}a.card-link:hover{text-underline-offset:4px;text-decoration:underline}.card-link.quiet{color:var(--faint)}.skills{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:44px;display:grid}.skill{padding:22px 24px}.skill h3{font:650 .78rem/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{color:var(--text);border:1px solid var(--line);background:var(--line);border-radius:10px;padding:6px 12px;font-size:.88rem;font-weight:500}.subhead{font:650 1.3rem/1.2 var(--font-display);letter-spacing:-.02em;margin-top:56px}.logos{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.logos li{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:center;align-items:center;gap:9px;width:150px;height:58px;padding:12px 18px;display:flex}.logos img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:32px}.logos .labelled{width:auto;min-width:150px}.logos .labelled img{flex:none;max-height:26px}.logos span{font:650 .95rem/1 var(--font-display);letter-spacing:-.02em;color:#1b2027;white-space:nowrap}.edu{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px;display:grid}.edu li{flex-direction:column;gap:8px;padding:22px 24px;display:flex}.edu-logo{background:#fff;border-radius:12px;place-items:center;width:52px;height:52px;margin-bottom:6px;padding:6px;display:grid}.edu-logo img{object-fit:contain;width:auto;max-height:40px}.edu h3{letter-spacing:-.01em;font-size:1.05rem;font-weight:650;line-height:1.25}.edu .uni{color:var(--accent);font-size:.9rem;font-weight:600}.edu p{color:var(--muted);font-size:.92rem}.badge{font:700 .66rem/1.5 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);vertical-align:2px;border-radius:999px;margin-left:6px;padding:2px 8px;display:inline-block}.langs{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.langs li{flex-direction:column;gap:4px;min-width:170px;padding:14px 20px;display:flex}.langs b{font:650 1rem/1.2 var(--font-display)}.langs span{color:var(--muted);font-size:.86rem}.dots{gap:5px;margin-top:6px;display:flex}.dots i{background:var(--line-strong);border-radius:2px;width:18px;height:4px}.dots i.on{background:var(--accent)}.contact{text-align:center;padding-bottom:clamp(60px,10vh,110px)}.contact .eyebrow{justify-content:center}.contact .eyebrow:after{display:none}.contact h2{letter-spacing:-.045em;font-size:clamp(2.5rem,6.4vw,5rem)}.contact .section-lede{margin-inline:auto}.mail{font:650 clamp(1.15rem, 2.8vw, 1.9rem) / 1.2 var(--font-display);letter-spacing:-.02em;color:var(--accent);border-bottom:2px solid var(--line-strong);overflow-wrap:anywhere;margin-top:30px;padding-bottom:6px;text-decoration:none;transition:border-color .2s;display:inline-block}.mail:hover{border-color:var(--accent)}.contact .contacts{justify-content:center;margin-top:30px}.footer{border-top:1px solid var(--line);color:var(--faint);padding:26px 0 34px;font-size:.86rem}.footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:10px 24px;display:flex}.footer a{color:var(--muted);text-decoration:none}.footer a:hover{color:var(--accent)}.footer nav{gap:18px;display:flex}.case-hero{align-items:center;min-height:92svh;padding:120px 0 60px;display:flex}.case-hero h1{letter-spacing:-.04em;font-size:clamp(2.5rem,5.6vw,4.4rem);font-weight:800}.back{color:var(--muted);align-items:center;gap:8px;margin-bottom:26px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.back:hover{color:var(--accent)}.facts{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:30px;display:grid}.prose{padding:clamp(56px,9vh,96px) 0}.prose h2{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:700}.prose .panel{margin-top:26px;padding:clamp(22px,3vw,34px)}.prose p+p{margin-top:14px}.prose p{color:var(--muted)}.steps{counter-reset:step;gap:14px;margin-top:8px;display:grid}.steps li{counter-increment:step;color:var(--muted);padding-left:48px;position:relative}.steps li:before{content:counter(step);width:32px;height:32px;font:700 .9rem/1 var(--font-display);color:var(--accent);background:var(--line);border-radius:10px;place-items:center;display:grid;position:absolute;top:0;left:0}.steps b{color:var(--text);font-weight:650}.stack{grid-template-columns:repeat(2,1fr);gap:12px 28px;display:grid}.stack div{border-bottom:1px solid var(--line);padding:12px 0}.stack dt{letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-size:.76rem;font-weight:650}.stack dd{color:var(--text);margin:4px 0 0;font-size:.97rem}html[lang=ja]{--font-display:"Sora Variable", "Sora", var(--font-ja);--font-body:"Inter Variable", "Inter", var(--font-ja)}html[lang=ja] body{line-break:strict;word-break:auto-phrase;line-height:1.85}html[lang=ja] :is(h2,h3,.case-hero h1,.subhead){letter-spacing:.01em;font-feature-settings:"palt";line-height:1.35}html[lang=ja] .section h2{font-size:clamp(1.75rem,3.7vw,2.8rem)}html[lang=ja] .case-hero h1{font-size:clamp(2rem,4.4vw,3.4rem)}html[lang=ja] .contact h2{font-size:clamp(2rem,5vw,3.8rem)}html[lang=ja] .motto{letter-spacing:.02em;font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.5}html[lang=ja] :is(.kicker,.eyebrow,.kpi-label,.card-tag,.skill h3,.stack dt,.now,.badge){letter-spacing:.08em;text-transform:none}html[lang=ja] :is(.kpi-label,.card-tag,.now,.badge){font-size:.76rem}html[lang=ja] :is(.skill h3,.stack dt){font-size:.84rem}html[lang=ja] :is(.job li,.checks li,.steps li,.panel p,.card p,.edu p){line-height:1.8}.js .reveal{opacity:0;transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s);transform:translateY(26px)}.js .reveal.in{opacity:1;transform:none}@media (width<=1020px){.cards{grid-template-columns:1fr 1fr}.edu{grid-template-columns:1fr}}@media (width<=820px){.nav-links,.rail{display:none}.umbrella{--size:110vw;top:26%;left:122vw}.season-mark{opacity:.07}.nav-actions{margin-left:auto}.hero{padding-top:92px}.hero-grid{grid-template-columns:1fr}.stage{aspect-ratio:auto;order:-1;width:100%}.stage-inner{flex-wrap:wrap;justify-content:center;gap:8px;display:flex;position:relative;inset:auto}.stage-photo{aspect-ratio:1;width:min(72vw,300px);margin:0 calc(50% - min(72vw,300px)/2) -18px;position:relative;inset:auto}.chip{padding:8px 11px;font-size:.7rem;position:relative;inset:auto;transform:none}.chip b{font-size:.95rem}.stats{grid-template-columns:1fr 1fr;gap:22px 16px}.avail{width:100%;margin-left:0}.cards,.skills,.stack{grid-template-columns:1fr}.bus{min-height:0}.scene-window{height:56svh;display:block}.job-when{width:100%;margin-left:0}}@media (width<=420px){.nav-inner{gap:12px}.nav-actions{gap:8px}.nav .btn.small{padding:9px 12px}.tiles,.facts{grid-template-columns:1fr}.kpi{padding:10px 8px}.kpi-delta{display:none}.kpi[aria-pressed=true]:after{left:8px;right:8px}.chip-b{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}}@media print{:root,:root[data-theme=light]{color-scheme:light;--surface:#fff;--text:#111;--muted:#333;--faint:#555;--coral:#b53a25;--line:#ddd;--line-strong:#bbb;--bg:#fff!important;--bg-2:#fff!important;--accent:#c2386b!important;--accent-hi:#8f1f4a!important;--accent-ink:#fff!important;--d1:#c2386b!important;--d2:#c2386b!important;--d3:#8f1f4a!important;--d4:#8f1f4a!important}html{background:#fff}body{font-size:10.5pt;line-height:1.45}body:before,#scene,.scene-fallback,.nav,.progress,.ring,.chip,.cta-row,.rail,.season-mark,.umbrella,.garland,.theme,.skip,.footer nav,.chart-tip,.chart-table summary,.halo{display:none!important}.js .reveal{opacity:1!important;transform:none!important}.glass{backdrop-filter:none;box-shadow:none}.hero{min-height:0;padding:0 0 12pt}.hero-grid{grid-template-columns:1fr 120pt}.hero h1{font-size:30pt}.hero h1 span,.section h2 em,.case-hero h1 em{color:var(--accent);background:0 0;-webkit-background-clip:border-box;background-clip:border-box}.scene-window{display:none!important}.stage{order:0;width:120pt}.stage-photo{width:100%;margin:0}.portrait{filter:none}.section,.prose{padding:12pt 0}.bus{min-height:0;display:block}.section h2{font-size:16pt}.timeline,.cards,.skills,.tiles{gap:8pt;margin-top:10pt}.job,.card,.tile,.skill,.edu li,.langs li{break-inside:avoid;padding:8pt 10pt}.cards{grid-template-columns:repeat(3,1fr)}.contact h2{font-size:16pt}a[href^=http]:after{content:none}}
