:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8f4;--surface:#edf0e9;--text:#2f3b31;--muted:#45544a;--subtle:#546757;--accent:#736d50;--line:#ccdace;--line-strong:#9eafa0;--ambient-light:#e6eedc33;--ambient-cool:#a0b7ac1a;--wire:#4e4b3452;--mountain-far:#6ba5a424;--mountain-near:#679b8b1a;--scanline:#4b5f4c03;--glow:#bed5ae2e;--surface-hover:#71977e12;--header-shadow:#374b3c0a;--mono:"Cascadia Code", "SFMono-Regular", consolas, monospace;--sans:inter, "Helvetica Neue", arial, sans-serif;--font-body:1rem;--font-title:2.5rem;--font-home-title:2.25rem;--font-section:1.75rem;--font-project:1.375rem;--font-project-compact:1.125rem;--font-label:.8125rem;--font-small:.75rem;--font-dates:.875rem;--line-body:1.55;--content-width:1120px;--header-height:64px}@media (width<=650px){:root{--font-title:1.875rem;--font-home-title:1.625rem;--font-section:1.5rem;--font-project:1.25rem;--font-label:.75rem}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--site-header-height,var(--header-height)) + 2rem)}body{isolation:isolate;background-color:var(--bg);background-image:radial-gradient(ellipse 55% 90% at 110% 55%, var(--ambient-light), transparent 80%), radial-gradient(ellipse at 12% 65%, var(--ambient-cool), transparent 60%);min-height:100svh;color:var(--text);font-family:var(--sans);font-size:var(--font-body);line-height:var(--line-body);-webkit-font-smoothing:antialiased;background-attachment:fixed;flex-direction:column;margin:0;display:flex}body>main{flex:1 0 auto}body>.site-header,body>.footer{flex-shrink:0}body:after{content:"";z-index:-1;pointer-events:none;background:repeating-linear-gradient(to bottom, transparent 0 3px, var(--scanline) 3px 4px);position:fixed;inset:0}.wired-background{z-index:-1;pointer-events:none;width:max(100%,160vh);height:max(100vh,62.5vw);color:var(--wire);opacity:.55;position:fixed;top:0;left:50%;transform:translate(-50%)}::selection{color:var(--bg);background:var(--text)}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:2px}h1,h2,h3,h4{font-weight:500;line-height:1.2}html[lang=ja]{line-break:strict;word-break:normal}html[lang=ja] body{font-family:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, var(--sans);line-height:1.85}html[lang=ja] h1,html[lang=ja] h2,html[lang=ja] h3,html[lang=ja] h4{letter-spacing:0;line-height:1.45}html[lang=ja] .eyebrow{letter-spacing:.025em;text-transform:none}html[lang=ja] .career-dates{font-family:inherit}h1,h2,h3,h4,p{margin-top:0}h1{font-size:var(--font-title);letter-spacing:-.03em}h2{font-size:var(--font-section);letter-spacing:-.02em}h3{font-size:var(--font-project);letter-spacing:-.02em}h4{font-size:var(--font-project-compact);letter-spacing:-.01em}ul,ol{margin:0;padding:0}code{font-family:var(--mono)}.frame{width:min(var(--content-width), calc(100% - 64px));margin-inline:auto}.eyebrow{color:var(--subtle);font-family:var(--mono);font-size:var(--font-small);letter-spacing:.07em;text-transform:uppercase}.text-link{border-bottom:1px solid var(--line-strong);padding-block:4px;display:inline-block}.text-link:hover{border-color:var(--accent)}.prose{max-width:70ch;color:var(--muted)}.prose p{margin-bottom:1.25rem}.home-summary,.project-intro,.project-copy>p:not(.eyebrow),.prose,.experience-text p:not(.role-period),.experience-list,.education-distinction,.flow p{text-align:start;-webkit-hyphens:none;hyphens:none;overflow-wrap:break-word}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:20;background:var(--text);color:var(--bg);padding:12px 20px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}@media (width>=1000px){.wired-background{--wire-content-half:min(calc(var(--content-width) / 2), calc(50vw - 32px));--wire-fade-width:clamp(24px, calc((100vw - var(--content-width)) / 2), 64px);-webkit-mask-image:linear-gradient(to right, #000000bf calc(50% - var(--wire-content-half) - var(--wire-fade-width)), #0000001f calc(50% - var(--wire-content-half)), #0000001f calc(50% + var(--wire-content-half)), #000000bf calc(50% + var(--wire-content-half) + var(--wire-fade-width)));mask-image:linear-gradient(to right, #000000bf calc(50% - var(--wire-content-half) - var(--wire-fade-width)), #0000001f calc(50% - var(--wire-content-half)), #0000001f calc(50% + var(--wire-content-half)), #000000bf calc(50% + var(--wire-content-half) + var(--wire-fade-width)))}}@media (width<=650px){:root{--header-height:112px}.frame{width:calc(100% - 36px)}body{background-image:radial-gradient(ellipse 60% 95% at 135% 55%, var(--ambient-light), transparent 80%), radial-gradient(ellipse at 12% 65%, var(--ambient-cool), transparent 60%)}.wired-background{opacity:.1925;left:calc(88% + 10vw);transform:translate(-88%)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.site-header{z-index:10;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 4px 20px var(--header-shadow);position:sticky;top:0}.header-content{min-height:var(--header-height);grid-template-columns:1fr auto auto;align-items:center;gap:20px;display:grid}.wordmark{font-family:var(--mono);letter-spacing:.08em;font-size:1rem}.wordmark span{color:var(--accent);animation:1s step-end infinite cursor-blink}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.nav{font-size:var(--font-label);font-family:var(--mono);color:var(--muted);align-items:center;gap:20px;display:flex}.nav a{padding-block:12px}.nav a[aria-current=page]{color:var(--text);text-underline-offset:6px;text-decoration:underline}.projects{--project-stack-width:clamp(280px, 34vw, 380px)}.projects>.section-heading{grid-template-columns:minmax(0, 1fr) var(--project-stack-width);align-items:baseline;gap:24px;display:grid}.projects>.section-heading>h1{letter-spacing:normal;margin:12px 0 0}.more-projects{margin-top:56px}.more-projects>.section-heading{margin-bottom:24px}.more-projects>.section-heading>h2{font-size:var(--font-project);margin:0}.project-page{padding-block:32px 0}.back-link{font-family:var(--mono);color:var(--muted);font-size:var(--font-label);padding-block:8px;display:inline-block}.project-hero{padding-block:24px 32px}.project-title-row{justify-content:space-between;align-items:baseline;gap:24px;margin-block:20px 30px;display:flex}.project-hero h1{overflow-wrap:anywhere;min-width:0;margin-block:0}.project-intro{max-width:65ch;color:var(--muted);font-size:var(--font-body)}.project-body{border-top:1px solid var(--line);grid-template-columns:200px minmax(0,1fr);gap:64px;display:grid}.project-details{min-width:0}.project-contents{padding-top:40px}.project-contents nav{top:calc(var(--site-header-height,var(--header-height)) + 24px);position:sticky}.project-contents ol{list-style:none}.project-contents a{font-size:var(--font-label);color:var(--muted);padding-block:7px;display:block}.project-contents a:hover{color:var(--text)}.project-section{padding-block:40px 48px}.project-section+.project-section{border-top:1px solid var(--line)}.project-section:last-child{padding-bottom:0}.project-section h2{font-size:var(--font-section);margin-bottom:24px}.project-section .prose p:last-child{margin-bottom:0}.project-section-list{padding-inline-start:1.4em;list-style:outside}.project-section-list>li+li{margin-top:12px}.section-heading{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:36px;display:flex}.section-heading h2{margin:0}.section-heading h1{font-size:var(--font-title);letter-spacing:-.03em;text-shadow:none;margin:0}.section-heading>p{color:var(--muted);font-size:var(--font-label);margin:0}.language-switcher{white-space:nowrap;font-family:var(--mono);font-size:var(--font-small);align-items:center;gap:8px;display:flex}.language-switcher a{color:var(--muted);padding:10px 2px}.language-switcher a[aria-current=true]{color:var(--text);text-underline-offset:6px;text-decoration:underline}.language-switcher>span{color:var(--subtle)}.home-intro{padding-block:48px 52px}.home-title{font-family:inherit;font-size:var(--font-home-title);letter-spacing:-.03em;text-shadow:none;margin:0 0 24px}.home-location{color:var(--text);font-size:var(--font-body);letter-spacing:normal;white-space:nowrap;margin-left:.4em;font-weight:400;display:inline-block}.home-intro-copy{min-width:0}.home-intro-skills{margin-top:24px;display:block}.home-intro-skills .technology-tags{flex-wrap:wrap;gap:8px}.home-intro-skills .technology-tags+.technology-tags{margin-top:10px}.home-intro-skills .skill-tag{min-width:0;font-size:var(--font-label);text-align:center;flex:auto;padding:6px 10px}.home-summary{max-width:72ch;color:var(--muted);font-size:var(--font-body);margin-bottom:0}.home-summary+.home-summary{margin-top:1rem}.about-page,.experience-page,.education-page{--profile-column-width:240px;--profile-column-gap:32px}.about-page{padding-block:32px 0}.about-intro{padding-bottom:24px}.projects-page{padding-top:32px}.about-intro h1{font-size:var(--font-title);text-shadow:none;margin-block:12px 20px}.about-role{font-size:var(--font-body);margin-bottom:16px}.about-contents{top:var(--site-header-height,var(--header-height));z-index:9;font-family:var(--mono);font-size:var(--font-label);color:var(--muted);flex-wrap:wrap;gap:8px 28px;padding-block:12px;display:flex;position:sticky}.about-contents a{padding-block:8px}.about-contents.is-stuck{background:var(--bg);box-shadow:0 0 0 100vmax var(--bg);clip-path:inset(0 -100vmax)}.about-contents.is-stuck:after{content:"";bottom:0;background:var(--line);pointer-events:none;height:1px;position:absolute;inset-inline:0}.about-contents a[aria-current=location],.project-contents a[aria-current=location]{color:var(--text);text-underline-offset:6px;text-decoration:underline}.about-section{scroll-margin-top:var(--about-contents-height,64px);border-top:1px solid var(--line);padding-block:24px 32px}.about-section>h2{margin-bottom:24px}@media (width>850px){.about-section>:not(h2){margin-inline-start:24px}}.about-section:last-child{padding-bottom:0}.about-skills .skills-list>div:first-child{padding-top:0}.about-skills .skills-list>div:last-child{padding-bottom:0}.career-dates{font-family:var(--mono);font-size:var(--font-dates);color:var(--subtle);margin-bottom:12px}.skills-list{margin:0}.skills-list>div{grid-template-columns:var(--profile-column-width) minmax(0, 1fr);gap:var(--profile-column-gap);padding-block:16px;display:grid}.skills-list>div+div{border-top:1px solid var(--line)}.skills-list dt{font-weight:500}.skills-list dd{min-width:0;color:var(--muted);margin:0}.language-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0;display:grid}.language-list>div{border-bottom:1px solid var(--line);padding-block:16px}.language-list dt{margin-bottom:8px;font-weight:500}.language-list dd{color:var(--muted);margin:0}.footer{border-top:1px solid var(--line);min-height:80px;color:var(--subtle);font-family:var(--mono);font-size:var(--font-small);flex-direction:column;justify-content:center;align-items:stretch;gap:12px;margin-top:32px;padding-block:16px;display:flex}.footer>span{text-align:center;order:1;width:100%}.footer-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:28px;display:flex}.footer-navigation{display:none}.experience-page{padding-block:64px 0}.experience-heading{padding-block:16px 56px}.experience-heading h1{margin:0}.experience-group{--experience-padding-start:40px;--experience-padding-end:48px;--experience-marker-offset:calc(var(--font-project) * .7);--experience-marker-inline:-16px;--experience-role-spacing:32px;grid-template-columns:var(--profile-column-width) minmax(0, 1fr);gap:var(--profile-column-gap);padding-block:var(--experience-padding-start) var(--experience-padding-end);border-top:1px solid var(--line);display:grid;position:relative}.experience-summary-role:before,.experience-summary-role:after{content:"";pointer-events:none;position:absolute}.experience-summary-role:before{top:calc(var(--experience-role-padding-start) + var(--experience-marker-offset) - 3.5px);background:var(--subtle);opacity:.55;border-radius:50%;width:7px;height:7px;inset-inline-start:calc(var(--experience-marker-inline) - 3.5px)}.experience-summary-role:after{top:calc(var(--experience-role-padding-start) + var(--experience-marker-offset) + 12px);bottom:12px;background:var(--line-strong);opacity:.4;width:2px;inset-inline-start:calc(var(--experience-marker-inline) - 1px)}.experience-employer h2,.experience-employer h3{font-size:var(--font-project-compact);letter-spacing:normal;margin-bottom:12px;line-height:1.45}.experience-text{min-width:0}.experience-text h3,.experience-text h4{font-size:var(--font-project);margin-block:36px 16px;font-weight:500;line-height:1.4}.about-section>.experience-group{--experience-padding-start:24px;--experience-padding-end:24px;--experience-role-spacing:24px}.about-section>.experience-group:first-of-type{--experience-padding-start:0px;border-top:0}.about-section>.experience-group:last-child,.experience-page>.experience-group:last-child,.education-page>.experience-group:last-child{--experience-padding-end:0px}.experience-text p,.experience-list{color:var(--muted);font-size:var(--font-body);overflow-wrap:anywhere;margin-bottom:20px}.experience-text>:last-child{margin-bottom:0}.experience-skill-tags{margin-block:24px 20px}.experience-list{padding-inline-start:1.4em;list-style:outside}.experience-list>li+li{margin-top:12px}.experience-list .experience-list{margin-block:8px 0;list-style-type:circle}.experience-list .experience-list>li+li{margin-top:8px}.experience-summary-role{--experience-role-padding-start:0px;position:relative}.experience-summary-role+.experience-summary-role{--experience-role-padding-start:var(--experience-role-spacing);margin-top:var(--experience-role-spacing);padding-top:var(--experience-role-padding-start);border-top:1px solid var(--line)}.experience-summary-role>h3,.experience-summary-role>h4{margin-top:0}.experience-summary-role.education-degree:after{bottom:0}.education-degree>p:last-child{margin-bottom:0}.education-degree-row{flex-wrap:wrap;align-items:baseline;gap:8px 24px;display:flex}.education-degree-row>:is(h3,h4){flex:260px;margin:0}.education-degree-row>.role-period{margin:0;margin-inline-start:auto}.education-degree>.education-distinction{margin-top:8px}.experience-highlights strong{color:var(--text);font-weight:500;display:block}.experience-highlights span{display:block}.experience-details-link{color:var(--accent);font-size:var(--font-small)}.experience-project-links{font-size:var(--font-body);flex-wrap:wrap;gap:8px 20px;margin-block:0 20px;padding:0;list-style:none;display:flex}.experience-project-links a{align-items:center;gap:4px;display:inline-flex}.experience-navigation{border:1px solid var(--line);background:var(--surface);margin-bottom:32px;padding:20px}.experience-navigation ul{flex-wrap:wrap;gap:12px 24px;list-style:none;display:flex}.experience-navigation a{border-bottom:1px solid var(--line-strong);font-size:var(--font-small);padding-block:4px;display:inline-block}.experience-navigation a[aria-current=page]{color:var(--accent);border-color:var(--accent)}.experience-role-page{max-width:80ch}.experience-back-link{margin-bottom:24px}.experience-role-footer{border-top:1px solid var(--line);margin-top:48px;padding-top:24px}.experience-role-footer .experience-navigation{margin-block:24px 0}.education-page{padding-block:64px 0}.education-heading{padding-block:16px 56px}.education-heading h1{margin:0}.education-distinction{color:var(--muted);font-size:var(--font-body);margin-bottom:0}.not-found{min-height:65vh;padding-block:100px 0}.not-found h1{font-size:var(--font-title)}.not-found>p:not(.eyebrow){color:var(--muted)}@media (prefers-reduced-motion:reduce){.wordmark span{animation:none}}@media (width>=1000px){.home-summary,.projects .project-copy>p:not(.eyebrow),.project-page .project-intro,.project-page .project-section .prose{max-width:none}.projects{--project-stack-width:calc((100% - 48px) / 3)}.projects .project-copy{padding-right:24px}.home-intro-content{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:48px;display:grid}.home-intro-skills{margin-top:0}}@media (width<=850px){.projects>.section-heading{grid-template-columns:minmax(0,1fr) auto}.project-body{grid-template-columns:1fr;gap:0}.project-contents{border-bottom:1px solid var(--line);padding-block:24px}.project-contents nav{position:static}.project-contents ol{flex-wrap:wrap;column-gap:24px;display:flex}.header-content{gap:12px}.nav{gap:14px}.section-heading{display:block}.section-heading h2{margin-bottom:16px}.experience-group{--experience-marker-inline:-12.5px;grid-template-columns:1fr;gap:20px}.skills-list>div{grid-template-columns:1fr;gap:8px}}@media (width<=650px){.header-content{grid-template-columns:1fr auto;gap:0 12px;padding-top:12px}.nav{font-size:var(--font-label);flex-wrap:wrap;grid-area:2/1/auto/-1;gap:12px;padding-block:4px 8px}html[lang=ja] .nav{font-size:var(--font-small);gap:8px}.language-switcher{font-size:var(--font-small);grid-area:1/2;gap:5px}.wordmark{font-size:.9rem}.language-switcher a,.nav a{align-items:center;min-block-size:44px;display:inline-flex}.language-switcher a{justify-content:center;min-inline-size:44px}.nav a{padding-block:8px}.experience-summary-role:after{bottom:22px}.about-contents a,.project-contents a,.experience-navigation a,.text-link,.project-source-link,.back-link{align-items:center;min-block-size:44px;display:inline-flex}.about-contents a{min-inline-size:44px}.about-contents{column-gap:8px}.project-contents a,.experience-navigation a{width:100%;display:flex}.experience-navigation ul{flex-direction:column;align-items:flex-start}.experience-navigation li{width:100%}.project-page{padding-top:24px}.project-section{padding-block:32px}.home-intro{padding-block:32px 36px}.home-title{line-height:1.2}.home-location{margin:8px 0 0;font-size:.875rem;line-height:1.5;display:block}.home-location-separator{display:none}.language-list{grid-template-columns:1fr;gap:0}.experience-page{padding-top:32px}.experience-heading{padding-block:16px 40px}.education-page{padding-top:32px}.education-heading{padding-block:16px 40px}.education-degree-row{display:block}.education-degree-row>.role-period{column-gap:8px;margin-block-start:8px;margin-inline-start:0}.education-degree-row .career-duration{border-left:0;padding-left:0}.education-degree-row .career-duration:before{content:"·";margin-inline-end:8px}.experience-group{--experience-padding-start:28px;--experience-padding-end:36px;--experience-marker-inline:-9px}.footer-links{justify-content:center;gap:16px;width:100%}.footer-navigation{display:contents}}.project-list{border-top:1px solid var(--line-strong);list-style:none}.project-card{grid-template-columns:minmax(0, 1fr) var(--project-stack-width,380px);border-bottom:1px solid var(--line);gap:24px;padding-block:32px;display:grid;position:relative}.project-card:hover{background:var(--surface-hover)}.project-index,.project-copy{grid-area:1/1;align-self:baseline}.project-index{font-family:var(--mono);font-size:var(--font-small);color:var(--subtle)}.project-card-title{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:16px;padding-left:32px;display:flex}.project-copy :is(h2,h3,h4){min-width:0;font-size:var(--font-project);letter-spacing:-.02em;margin-bottom:0;font-weight:500;line-height:1.2}.project-copy :is(h2,h3,h4) a:after{content:"";position:absolute;inset:0}.project-copy :is(h2,h3,h4) a:focus-visible{outline:none}.project-card:has(:is(h2,h3,h4) a:focus-visible){outline:2px solid var(--accent);outline-offset:6px}.project-copy>p:not(.eyebrow){max-width:64ch;font-size:var(--font-body);color:var(--muted);margin-bottom:0}.project-source-link{z-index:1;color:var(--subtle);font-family:var(--mono);font-size:var(--font-label);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;line-height:1;display:inline-flex;position:relative}.project-source-link:hover{text-underline-offset:4px;text-decoration:underline}.project-source-link img{object-fit:contain}.link-arrow{vertical-align:-.125em;width:1em;height:1em;display:inline-block}.project-arrow{font-size:var(--font-body);color:var(--subtle);margin-left:12px}.project-card:hover :is(h2,h3,h4),.project-card:hover .project-arrow{color:var(--accent)}.technology-stack{border:1px solid var(--line);background:var(--surface);align-self:start;min-width:0;padding:16px}.technology-tags{flex-wrap:wrap;align-content:flex-start;gap:7px;list-style:none;display:flex}.skill-tag{border:1px solid var(--line);background:var(--bg);max-width:100%;color:var(--muted);font-family:var(--mono);font-size:var(--font-small);overflow-wrap:anywhere;padding:5px 8px;line-height:1.5}.project-stack{background:0 0;border:0;grid-area:1/2;min-height:0;padding:0}.project-card--compact{padding-block:20px}.project-card--compact .project-copy :is(h2,h3,h4){font-size:var(--font-project-compact)}.project-card--compact .project-card-title{margin-bottom:8px}.technology-list{width:100%;margin-top:24px}.flow{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:28px;list-style:none;display:grid}.flow>li{border:1px solid var(--line);background:var(--surface);min-width:0;padding:18px 16px}.flow-index{color:var(--accent);font-family:var(--mono);font-size:var(--font-small);margin-bottom:20px;display:block}.flow strong{font-size:var(--font-body);overflow-wrap:anywhere;font-weight:500;line-height:1.4;display:block}.flow p{color:var(--muted);font-size:var(--font-body);margin-block:10px 0}.table-scroll{margin-top:28px;overflow-x:auto}.project-section table{border-collapse:collapse;width:100%;font-size:var(--font-label);text-align:left}.project-section th,.project-section td{border-bottom:1px solid var(--line);vertical-align:top;padding:14px 18px}.project-section th:first-child,.project-section td:first-child{padding-left:0}.project-section thead th{color:var(--subtle);font-size:var(--font-small);font-family:var(--mono);border-top:1px solid var(--line);font-weight:400}.project-section tbody th{color:var(--text);min-width:130px;font-weight:400}.project-section td{color:var(--muted)}.table-scroll--metrics{max-width:560px;margin-top:16px}.table-scroll--metrics table{table-layout:fixed;min-width:520px}.project-section .table-scroll--metrics th,.project-section .table-scroll--metrics td{white-space:nowrap;padding:8px 16px}.project-section .table-scroll--metrics th:first-child,.project-section .table-scroll--metrics td:first-child{padding-left:0}.project-section .table-scroll--metrics th:last-child,.project-section .table-scroll--metrics td:last-child{padding-right:0}.code-block{border:1px solid var(--line);background:var(--surface);font-size:var(--font-label);color:var(--muted);margin:28px 0 0;padding:24px;line-height:1.6;overflow-x:auto}.role-period{flex-wrap:wrap;align-items:baseline;gap:4px 16px;display:flex}.career-duration{border-left:1px solid var(--line-strong);white-space:nowrap;padding-left:16px}.experience-text .role-period{font-family:var(--mono);font-size:var(--font-dates)}@media (width>=851px){.project-card{grid-template-columns:48px minmax(0, 1fr) var(--project-stack-width,380px)}.project-copy{grid-column:2}.project-card-title{padding-left:0}.project-stack{grid-column:3}}@media (width<=650px){.project-card{grid-template-columns:minmax(0,1fr);padding-block:28px}.project-card .project-stack{grid-area:2/1}.flow{grid-template-columns:1fr}.flow>li{padding:16px 20px}.flow-index{margin-bottom:8px}.project-section th,.project-section td{padding:12px}}@media (width<=850px){.project-card{grid-template-columns:minmax(0,1fr);gap:16px}.project-stack{grid-area:2/1;width:100%;min-height:0}}
