@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk.ttf)format("truetype");font-weight:300 700;font-style:normal;font-display:swap}body.portfolio-page{--portfolio-bg:#08090b;--portfolio-surface:#101318;--portfolio-line:#2a3038;--portfolio-text:#f4f1e8;--portfolio-muted:#a9afb8;--portfolio-accent:#7cf8c2;--ease-out:cubic-bezier(.23, 1, .32, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;min-height:100dvh;color:var(--portfolio-text);background:var(--portfolio-bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Space Grotesk,Arial,sans-serif}body.portfolio-page,body.portfolio-page *{box-sizing:border-box}@scope(body.portfolio-page){::selection{background:var(--portfolio-accent);color:var(--portfolio-bg)}a{color:inherit}button,input,textarea{font:inherit}:focus-visible{outline:3px solid var(--portfolio-accent);outline-offset:5px}[id]{scroll-margin-top:104px}.portfolio-shell{flex-direction:column;width:min(1380px,100%);min-height:100dvh;margin-inline:auto;padding:80px clamp(20px,4.5vw,64px) 0;display:flex}.portfolio-main{flex:1}.portfolio-skip{z-index:10;color:var(--portfolio-bg);background:var(--portfolio-accent);padding:14px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.portfolio-skip:focus{transform:translateY(0)}.portfolio-header{z-index:5;background:var(--portfolio-bg);border-bottom:1px solid var(--portfolio-line);justify-content:space-between;align-items:center;gap:20px;width:min(1380px,100%);min-height:80px;padding-inline:clamp(20px,4.5vw,64px);display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.portfolio-brand{align-items:center;gap:10px;min-height:44px;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.portfolio-brand>span:first-child{color:var(--portfolio-accent);letter-spacing:-.1em;font:italic 2.5rem/1 Georgia,serif}.portfolio-header__actions,.portfolio-header nav{align-items:center;display:flex}.portfolio-header__actions{gap:32px}.portfolio-header nav{gap:28px}.portfolio-header nav a,.portfolio-footer__meta a{align-items:center;min-height:44px;font-size:.78rem;text-decoration:none;display:inline-flex}.portfolio-nav__number{color:var(--portfolio-muted);margin-right:6px;font-size:.6rem}.portfolio-header .portfolio-language{border-left:1px solid var(--portfolio-line);gap:0;padding-left:18px}.portfolio-language a{width:38px;color:var(--portfolio-muted);justify-content:center}.portfolio-language a[aria-current=page]{color:var(--portfolio-accent);text-underline-offset:6px;font-weight:700;text-decoration:underline}.portfolio-label{color:var(--portfolio-muted);letter-spacing:.07em;text-transform:uppercase;margin:0;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.68rem;font-weight:400;line-height:1.5}.portfolio-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.portfolio-hero{padding:38px 0 0}.portfolio-hero__meta,.portfolio-hero__footnote{justify-content:space-between;align-items:center;gap:24px;display:flex}.portfolio-hero__layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:36px;padding:38px 0 46px;display:grid}.portfolio-hero h1{letter-spacing:-.075em;margin:0 0 28px;font-size:clamp(4.8rem,8.6vw,7.5rem);font-weight:500;line-height:.87}.portfolio-hero h1>span{display:block}.portfolio-hero h1>span:last-child{letter-spacing:-.075em;margin-top:8px;font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400}.portfolio-hero__dot{color:var(--portfolio-accent)}.portfolio-hero__introduction{max-width:43ch;color:var(--portfolio-muted);margin:0;font-size:.95rem;line-height:1.75}.portfolio-hero__links{flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px;display:flex}.portfolio-button{border:1px solid var(--portfolio-accent);background:var(--portfolio-accent);min-height:50px;color:var(--portfolio-bg);cursor:pointer;border-radius:3px;justify-content:space-between;align-items:center;gap:28px;padding:0 20px;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}.portfolio-button,.portfolio-contact-form button{transition:transform .16s var(--ease-out), background-color .15s ease, color .15s ease, border-color .15s ease}.portfolio-text-link>span,.portfolio-project__visit>span{transition:transform .15s var(--ease-out);display:inline-block}.portfolio-button--secondary{color:var(--portfolio-accent);background:0 0}.portfolio-text-link,.portfolio-project__source{min-height:44px;text-decoration:underline;-webkit-text-decoration-color:var(--portfolio-line);text-decoration-color:var(--portfolio-line);text-underline-offset:5px;align-items:center;gap:16px;font-size:.8rem;display:inline-flex}.portfolio-hero__footnote{border-block:1px solid var(--portfolio-line);padding:18px 0}.portfolio-hero__availability{color:var(--portfolio-muted);align-items:center;gap:10px;margin:0;font-size:.78rem;display:flex}.portfolio-hero__availability:before{content:"";background:#7cf8c2;border-radius:50%;width:6px;height:6px}.portfolio-desk{min-height:500px;position:relative}.portfolio-desk:before{content:"";background-color:#101714;background-image:linear-gradient(#1c2923 1px,#0000 1px),linear-gradient(90deg,#1c2923 1px,#0000 1px);background-size:28px 28px;border:1px solid #293731;position:absolute;inset:46px 16px 30px 28px}.portfolio-desk__label{color:var(--portfolio-muted);align-items:center;gap:10px;margin:0;font-size:.7rem;display:flex;position:absolute;top:0;left:20px}.portfolio-desk__label>span{color:var(--portfolio-accent);font-size:1.9rem}.portfolio-desk__piece{transition:transform .25s var(--ease-out);background:#191f22;padding:7px;text-decoration:none;display:block;position:absolute;box-shadow:0 10px 24px #00000059}.portfolio-desk__piece img{width:100%;height:auto;display:block}.portfolio-desk__piece>span{justify-content:space-between;padding:10px 4px 3px;font-family:ui-monospace,Consolas,monospace;font-size:.6rem;display:flex}.portfolio-desk__piece--skinfolio{z-index:1;width:82%;top:62px;left:4%;rotate:-5deg}.portfolio-desk__piece--menubox{z-index:3;width:27%;top:145px;right:0;rotate:7deg}.portfolio-desk__piece--sanriogang{z-index:2;width:53%;bottom:20px;left:10%;rotate:-9deg}.portfolio-projects{padding-block:80px}.portfolio-section-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px;display:flex}.portfolio-section-heading h2{letter-spacing:-.045em;text-wrap:balance;max-width:17ch;margin:14px 0 0;font:400 clamp(2.2rem,4vw,3.5rem)/1.1 Georgia,serif}.portfolio-section-heading>p{max-width:35ch;color:var(--portfolio-muted);margin:0;font-size:.875rem;line-height:1.7}.portfolio-project-list{gap:72px;display:grid}.portfolio-project{min-width:0}.portfolio-project__link{text-decoration:none;display:block}.portfolio-project__heading{border-top:1px solid var(--portfolio-line);grid-template-columns:40px 1fr auto;align-items:center;gap:20px;padding:24px 0;display:grid}.portfolio-project__number{color:var(--portfolio-muted);align-self:start;padding-top:4px;font:italic 1.5rem Georgia,serif}.portfolio-project__title>p{color:var(--portfolio-muted);margin:0 0 8px;font-size:.7rem}.portfolio-project__title h3{letter-spacing:-.06em;margin:0;font-size:clamp(2rem,3.5vw,3.1rem);font-weight:500;line-height:1.1}.portfolio-project__arrow{border:1px solid var(--portfolio-line);width:48px;height:48px;transition:transform .2s var(--ease-out);border-radius:50%;place-items:center;font-size:1.5rem;display:grid}.portfolio-project__media{grid-template-columns:minmax(0,.8fr) minmax(0,1.8fr);align-items:center;gap:30px;height:460px;min-height:420px;padding:40px;display:grid;overflow:hidden}.portfolio-project__media-copy{z-index:1;position:relative}.portfolio-project__media-copy>p{letter-spacing:-.04em;text-wrap:balance;margin:24px 0 30px;font:italic clamp(2rem,3.3vw,3rem)/1.1 Georgia,serif}.portfolio-project__status{text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;font-family:ui-monospace,Consolas,monospace;font-size:.6rem;display:inline-flex}.portfolio-project__status:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.portfolio-project__visit{font-size:.72rem}.portfolio-project__screens{min-width:0;min-height:0}.portfolio-project__preview{width:100%;height:auto;transition:transform .25s var(--ease-out);display:block}.portfolio-project--skinfolio .portfolio-project__media{color:#f3e8c9;background:#111e25;padding-right:0}.portfolio-project--skinfolio .portfolio-project__screens{align-self:start;width:112%;transform:translateY(28px)}.portfolio-project--skinfolio .portfolio-project__preview{border:1px solid #35474c;border-radius:6px;box-shadow:0 20px 40px #00000026}.portfolio-project--menubox .portfolio-project__media{color:#e8cab0;background:#24201c}.portfolio-project--menubox .portfolio-project__screens{justify-content:center;align-items:center;gap:28px;padding:12px;display:flex}.portfolio-project--menubox .portfolio-project__preview,.portfolio-project__receipt{border:5px solid #443e34;border-radius:22px;width:min(43%,178px);height:auto;box-shadow:0 16px 24px #432b131f}.portfolio-project--menubox .portfolio-project__preview{transform:rotate(-5deg)translateY(-8px)}.portfolio-project__receipt{transition:transform .25s var(--ease-out);display:block;transform:rotate(7deg)translateY(12px)}.portfolio-project--sanriogang .portfolio-project__media{color:#edcee2;background:#291f2c;height:510px;padding:28px 40px 0;display:block}.portfolio-project--sanriogang .portfolio-project__media-copy{justify-content:space-between;align-items:center;gap:20px;display:flex}.portfolio-project--sanriogang .portfolio-project__media-copy>p{margin:0;font-size:2rem}.portfolio-project--sanriogang .portfolio-project__screens{width:92%;margin:32px auto -40px;transform:rotate(2deg)}.portfolio-project--sanriogang .portfolio-project__preview{box-shadow:0 10px 40px #3015252e}.portfolio-project__overview{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:32px;padding:24px 0;display:grid}.portfolio-project__overview>p{max-width:53ch;margin:0;font-size:.95rem;line-height:1.7}.portfolio-tags{flex-wrap:wrap;justify-content:end;gap:8px;margin:0;padding:0;list-style:none;display:flex}.portfolio-tags li{background:var(--portfolio-surface);color:var(--portfolio-muted);padding:7px 10px;font-size:.65rem}.portfolio-project__details{border-block:1px solid var(--portfolio-line)}.portfolio-project__details summary{cursor:pointer;min-height:50px;padding-block:16px;font-size:.8rem}.portfolio-project__details summary::marker{color:var(--portfolio-accent)}.portfolio-project__story{grid-template-columns:1fr 1fr 1.4fr;gap:24px 36px;padding-block:12px 28px;display:grid}.portfolio-project__copy{color:var(--portfolio-muted);margin:10px 0 0;font-size:.875rem;line-height:1.75}.portfolio-project__result{border-top:1px solid var(--portfolio-line);grid-column:1/-1;padding-top:20px}.portfolio-project__actions{flex-wrap:wrap;justify-content:end;align-items:center;gap:16px 24px;padding-top:16px;display:flex}.portfolio-project__source{color:var(--portfolio-muted)}.portfolio-walkthrough{padding:32px 0}.portfolio-walkthrough__heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;margin-bottom:24px;display:flex}.portfolio-walkthrough__heading h4{margin:0;font-size:1.25rem;font-weight:500}.portfolio-walkthrough__heading p{color:var(--portfolio-muted);margin:0;font-size:.75rem}.portfolio-walkthrough__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.portfolio-walkthrough figure{min-width:0;margin:0}.portfolio-walkthrough h5{align-items:baseline;gap:10px;margin:0 0 14px;font-size:.9rem;font-weight:500;display:flex}.portfolio-walkthrough h5 span{color:var(--portfolio-accent);font-family:ui-monospace,Consolas,monospace;font-size:.75rem}.portfolio-walkthrough__image{text-underline-offset:4px;display:block}.portfolio-walkthrough__image img{border:1px solid var(--portfolio-line);border-radius:6px;width:min(100%,250px);height:auto;display:block}.portfolio-walkthrough__image span{min-height:44px;color:var(--portfolio-accent);align-items:center;font-size:.75rem;display:inline-flex}.portfolio-walkthrough figcaption{max-width:34ch;color:var(--portfolio-muted);font-size:.8rem;line-height:1.7}.portfolio-experience,.portfolio-education,.portfolio-technologies{border-top:1px solid var(--portfolio-line);padding-block:64px}.portfolio-experience>h2{text-transform:none;letter-spacing:-.03em;color:var(--portfolio-text);font:400 clamp(2rem,3.5vw,2.75rem)/1.2 Georgia,serif}.portfolio-experience__layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:48px;margin:40px 0 42px;display:grid}.portfolio-experience__dates{color:var(--portfolio-accent);align-items:center;gap:6px;margin:0 0 14px;font:400 11px/1.5 ui-monospace,Consolas,monospace;display:flex}.portfolio-experience__dates:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:5px}.portfolio-experience__position h3{letter-spacing:-.05em;margin:0;font-size:clamp(1.875rem,3.8vw,3rem);font-weight:500;line-height:1.2}.portfolio-experience__position>p:last-child{color:var(--portfolio-muted);margin:10px 0 0;font-size:.8125rem}.portfolio-experience__intro{max-width:58ch;margin:0;font-size:1.0625rem;line-height:1.7}.portfolio-experience__achievements,.portfolio-education ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px;margin:0;padding:0;list-style:none;display:grid}.portfolio-experience__achievements li{border-top:1px solid var(--portfolio-line);padding-top:22px}.portfolio-experience__achievements{gap:32px 48px}.portfolio-experience__achievements h4{margin:0;font:400 23px/1.25 Georgia,serif}.portfolio-experience__achievements p{color:var(--portfolio-muted);margin:12px 0 0;font-size:.875rem;line-height:1.8}.portfolio-education h3{margin:0;font-size:.95rem;font-weight:500;line-height:1.5}.portfolio-education li>p:not(.portfolio-label){color:var(--portfolio-muted);margin:10px 0 0;font-size:.85rem;line-height:1.75}.portfolio-education ul{margin-top:32px}.portfolio-education h3{margin-top:12px}.portfolio-technologies__list{grid-template-columns:repeat(6,minmax(0,1fr));gap:0 24px;margin:0;padding:0;list-style:none;display:grid}.portfolio-technologies__list li{border-bottom:1px solid var(--portfolio-line);align-items:center;gap:12px;padding-block:18px;font-size:.8rem;display:flex}.portfolio-technologies__list img{object-fit:contain;width:24px;height:24px}.portfolio-technologies__list img[src*="/nextjs/"],.portfolio-technologies__list img[src*="/github/"]{filter:invert()}.portfolio-technologies__list img[src*="/astro/"]{filter:invert()hue-rotate(180deg)}.portfolio-footer{border-top:1px solid var(--portfolio-line);grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:64px;padding:clamp(70px,9vw,120px) 0 28px;scroll-margin-top:100px;display:grid}.portfolio-contact__intro h2{letter-spacing:-.04em;margin:16px 0 0;font-size:clamp(3.5rem,7vw,6.5rem);font-weight:500;line-height:1}.portfolio-contact__copy{max-width:34ch;color:var(--portfolio-muted);margin:24px 0 0;line-height:1.5}.portfolio-contact__fallback{min-height:44px;color:var(--portfolio-accent);text-underline-offset:5px;align-items:center;gap:10px;margin-top:22px;display:inline-flex}.portfolio-contact__fallback:hover{color:var(--portfolio-text)}.portfolio-contact-form fieldset{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px;min-width:0;margin:0;padding:0;display:grid}.portfolio-contact-form__hint{color:var(--portfolio-muted);margin:8px 0 0;font-size:.875rem;line-height:1.5}.portfolio-contact-form>.portfolio-contact-form__hint{margin:0 0 24px}.portfolio-contact-form__field{min-width:0}.portfolio-contact-form__field--message,.portfolio-contact-form__privacy,.portfolio-contact-form__actions{grid-column:1/-1}.portfolio-contact-form__privacy{color:var(--portfolio-muted);overflow-wrap:anywhere;font-size:.875rem;line-height:1.5}.portfolio-contact-form__privacy p{margin:0 0 12px}.portfolio-contact-form__privacy summary{min-height:44px;color:var(--portfolio-accent);cursor:pointer;padding-block:12px}.portfolio-contact-form label{color:var(--portfolio-muted);text-transform:uppercase;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.72rem;display:block}.portfolio-contact-form input,.portfolio-contact-form textarea{border:0;border-bottom:1px solid var(--portfolio-muted);width:100%;min-height:48px;color:var(--portfolio-text);font:inherit;background:0 0;border-radius:0;padding:10px 0}.portfolio-contact-form textarea{resize:vertical;min-height:132px}.portfolio-contact-form input:focus-visible,.portfolio-contact-form textarea:focus-visible{border-color:var(--portfolio-accent);box-shadow:0 1px 0 var(--portfolio-accent);outline:none}.portfolio-contact-form__actions{justify-content:space-between;align-items:center;gap:20px;min-height:54px;display:flex}.portfolio-contact-form__feedback{color:var(--portfolio-muted);line-height:1.4}.portfolio-contact-form__feedback p{margin:0}.portfolio-contact-form__feedback [role=status]{color:var(--portfolio-accent)}.portfolio-contact-form__feedback [role=alert]{color:#ff9292}.portfolio-contact-form button{border:1px solid var(--portfolio-accent);background:var(--portfolio-accent);min-width:180px;min-height:48px;color:var(--portfolio-bg);cursor:pointer;text-transform:uppercase;border-radius:0;justify-content:space-between;align-items:center;gap:24px;padding:0 16px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.72rem;font-weight:700;display:inline-flex}.portfolio-contact-form button:hover:not(:disabled){color:var(--portfolio-accent);background:0 0}.portfolio-contact-form button:disabled{border-color:var(--portfolio-line);background:var(--portfolio-surface);color:var(--portfolio-muted);cursor:not-allowed}.portfolio-footer__meta{border-top:1px solid var(--portfolio-line);color:var(--portfolio-muted);text-transform:uppercase;grid-column:1/-1;grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding-top:28px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.72rem;display:grid}.portfolio-not-found{border-bottom:1px solid var(--portfolio-line);flex:1;grid-template-columns:5fr 7fr;align-content:center;gap:24px;min-height:calc(100dvh - 220px);display:grid}.portfolio-not-found__code{color:var(--portfolio-accent);letter-spacing:-.1em;grid-row:span 3;margin:0;font-size:clamp(7rem,20vw,18rem);font-weight:700;line-height:.74}.portfolio-not-found h1{letter-spacing:-.065em;align-self:end;margin:0;font-size:clamp(2.2rem,5vw,5rem);line-height:.9}.portfolio-not-found>span{max-width:38ch;color:var(--portfolio-muted);font-size:1.05rem;line-height:1.5}.portfolio-not-found .portfolio-button{justify-self:start}@media (hover:hover) and (pointer:fine){.portfolio-header a:hover,.portfolio-text-link:hover,.portfolio-project__source:hover{color:var(--portfolio-accent)}.portfolio-button:hover{background:var(--portfolio-text);border-color:var(--portfolio-text);color:var(--portfolio-bg)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.portfolio-desk__piece:hover{z-index:4;transform:translateY(-5px)scale(1.015)}.portfolio-project__link:hover .portfolio-project__arrow,.portfolio-text-link:hover>span,.portfolio-project__link:hover .portfolio-project__visit>span{transform:translate(2px,-2px)}.portfolio-project--skinfolio .portfolio-project__link:hover .portfolio-project__preview,.portfolio-project--sanriogang .portfolio-project__link:hover .portfolio-project__preview{transform:translateY(-5px)}.portfolio-project--menubox .portfolio-project__link:hover .portfolio-project__preview{transform:rotate(-5deg)translateY(-12px)}.portfolio-project--menubox .portfolio-project__link:hover .portfolio-project__receipt{transform:rotate(7deg)translateY(8px)}}@media (prefers-reduced-motion:no-preference){.portfolio-button:active:not(:focus-visible),.portfolio-contact-form button:active:not(:disabled):not(:focus-visible){transition-duration:.1s;transform:scale(.97)}@keyframes portfolio-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.portfolio-hero h1{animation:portfolio-enter .5s var(--ease-out) backwards}.portfolio-hero__introduction{animation:portfolio-enter .5s 60ms var(--ease-out) backwards}.portfolio-hero__links{animation:portfolio-enter .5s .12s var(--ease-out) backwards}.portfolio-desk__piece{animation:portfolio-enter .5s 80ms var(--ease-out) backwards}.portfolio-desk__piece--menubox{animation-delay:.14s}.portfolio-desk__piece--sanriogang{animation-delay:.2s}.portfolio-hero:has(:focus-visible) h1{animation:none}.portfolio-hero:has(:focus-visible) .portfolio-hero__introduction{animation:none}.portfolio-hero:has(:focus-visible) .portfolio-hero__links{animation:none}.portfolio-hero:has(:focus-visible) .portfolio-desk__piece{animation:none}}@media (width<=1000px){.portfolio-hero__layout{gap:24px}.portfolio-desk{min-height:390px}.portfolio-desk__piece--menubox{top:125px}.portfolio-desk__piece--sanriogang{bottom:15px}.portfolio-header__actions,.portfolio-header nav{gap:18px}.portfolio-project__media{gap:20px;min-height:340px;padding:28px}.portfolio-project--menubox .portfolio-project__screens{gap:18px;padding:0}.portfolio-project--sanriogang .portfolio-project__media-copy>p{font-size:1.5rem}.portfolio-technologies__list{grid-template-columns:repeat(4,minmax(0,1fr))}.portfolio-footer{gap:36px}}@media (width<=760px){.portfolio-header,.portfolio-shell{padding-inline:24px}.portfolio-hero__layout{grid-template-columns:1fr;gap:32px}.portfolio-hero__content{max-width:560px}.portfolio-hero h1{font-size:clamp(4.5rem,15vw,7rem)}.portfolio-desk{justify-self:center;width:min(100%,520px);min-height:450px}.portfolio-desk__piece--menubox{top:125px}.portfolio-brand>span:last-child,.portfolio-nav__number{display:none}.portfolio-section-heading{flex-direction:column;align-items:start;gap:20px}.portfolio-section-heading>p{max-width:50ch}.portfolio-project__overview{grid-template-columns:1fr;gap:16px}.portfolio-tags{justify-content:start}.portfolio-project__story{grid-template-columns:1fr}.portfolio-project__story>div+div{border-top:1px solid var(--portfolio-line);padding-top:20px}.portfolio-footer{grid-template-columns:1fr;gap:40px}.portfolio-contact__intro h2{font-size:clamp(3rem,10vw,5rem)}.portfolio-contact__copy{max-width:45ch}.portfolio-not-found{grid-template-columns:1fr;padding:64px 0}.portfolio-not-found__code{grid-row:auto}}@media (width<=600px){.portfolio-experience__layout{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.portfolio-experience__intro{font-size:.9375rem}.portfolio-experience__achievements{grid-template-columns:1fr;gap:26px}.portfolio-experience__achievements h4{font-size:22px}}@media (width<=540px){.portfolio-header,.portfolio-shell{padding-inline:20px}.portfolio-header{gap:12px;min-height:72px}.portfolio-shell{padding-top:72px}.portfolio-header__actions{gap:10px}.portfolio-header nav{gap:14px}.portfolio-header nav a{font-size:.68rem}.portfolio-header .portfolio-language{padding-left:8px}.portfolio-language a{width:28px}.portfolio-hero{padding-top:28px}.portfolio-hero__meta{align-items:start;gap:16px}.portfolio-hero__meta .portfolio-label{max-width:19ch;font-size:.58rem}.portfolio-hero__layout{gap:24px;padding-block:40px 28px}.portfolio-hero__introduction{font-size:.9rem}.portfolio-hero__links{margin-top:24px}.portfolio-desk{min-height:350px}.portfolio-desk:before{inset:40px 10px 30px}.portfolio-desk__label{left:8px}.portfolio-desk__piece--skinfolio{top:50px}.portfolio-desk__piece--menubox{top:110px}.portfolio-desk__piece--sanriogang{bottom:22px}.portfolio-desk__piece>span{padding-top:7px;font-size:.5rem}.portfolio-hero__footnote{flex-direction:column;align-items:start;gap:2px;padding-block:16px}.portfolio-hero__availability{font-size:.72rem}.portfolio-projects{padding-block:48px}.portfolio-section-heading{margin-bottom:28px}.portfolio-section-heading h2{font-size:2.4rem}.portfolio-project-list{gap:44px}.portfolio-project__heading{grid-template-columns:24px 1fr auto;gap:12px;padding-block:20px}.portfolio-project__title h3{font-size:1.8rem}.portfolio-project__title>p{font-size:.6rem;line-height:1.5}.portfolio-project__number{font-size:1.2rem}.portfolio-project__arrow{width:36px;height:36px;font-size:1.2rem}.portfolio-project__media{height:auto;min-height:0;padding:24px;display:block}.portfolio-project__media-copy>p{max-width:13ch;margin:16px 0;font-size:2.2rem}.portfolio-project--skinfolio .portfolio-project__screens{width:110%;margin-top:12px;transform:translateY(28px)}.portfolio-project--skinfolio .portfolio-project__media{padding-bottom:0}.portfolio-project--menubox .portfolio-project__screens{gap:24px;margin-top:28px;padding-bottom:10px}.portfolio-project--menubox .portfolio-project__preview,.portfolio-project__receipt{border-width:3px;border-radius:14px;width:44%}.portfolio-project--sanriogang .portfolio-project__media{height:auto;padding:24px 16px 0}.portfolio-project--sanriogang .portfolio-project__media-copy{flex-wrap:wrap;gap:16px;padding-inline:8px}.portfolio-project--sanriogang .portfolio-project__media-copy>p{order:2;width:100%;max-width:none;font-size:2rem}.portfolio-project--sanriogang .portfolio-project__screens{width:100%;margin-block:24px -10px}.portfolio-project__overview>p{font-size:.875rem}.portfolio-project__details summary{font-size:.75rem}.portfolio-project__actions{justify-content:start}.portfolio-experience,.portfolio-technologies,.portfolio-education{padding-block:44px}.portfolio-education ul{grid-template-columns:1fr}.portfolio-technologies__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}.portfolio-technologies__list li{gap:8px;font-size:.65rem}.portfolio-technologies__list img{width:20px;height:20px}.portfolio-walkthrough__steps{grid-template-columns:1fr;gap:32px}.portfolio-walkthrough__image img{width:min(100%,280px)}.portfolio-contact-form fieldset{grid-template-columns:1fr}.portfolio-contact-form__actions{flex-direction:column;align-items:stretch}.portfolio-contact-form button{width:100%}.portfolio-footer__meta{grid-template-columns:1fr 1fr}.portfolio-footer__meta>span{grid-column:1/-1}}@media (width<=360px){.portfolio-header nav{gap:10px}.portfolio-header__actions{gap:6px}.portfolio-header .portfolio-language{padding-left:4px}.portfolio-language a{width:25px}.portfolio-desk{min-height:315px}.portfolio-desk__piece--menubox{top:110px}.portfolio-desk__piece--sanriogang{bottom:20px}.portfolio-technologies__list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.portfolio-button,.portfolio-contact-form button{transition:background-color .15s,color .15s,border-color .15s!important}}}
