@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@font-face{font-family:Fallback;src:local(Arial);size-adjust:101%}:root{color-scheme:dark;--bg:#151515;--fg:#e9e7e2;--muted:#aaa7a2;--quiet:#797773;--line:#3b3a37;--accent:#91c2ff;--accent-hover:#c3ddff;--interactive-bg:#1b2634;--panel:#1b1b1a;--project-inset:clamp(24px, 2.1vw, 40px);--scroll-padding:48px;--ease:cubic-bezier(.22,.61,.36,1);font-synthesis:none;background:var(--bg);color:var(--fg);font-family:Pretendard Variable,Pretendard,Fallback,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.65}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--scroll-padding);scrollbar-gutter:stable;view-transition-name:none!important}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button{background:0 0;border:0;border-radius:0}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:#151515}h1,h2,h3,p,dl,dd{margin:0}svg{display:block}button:disabled{cursor:default}.muted{color:var(--muted)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:99;background:var(--fg);color:var(--bg);padding:10px 16px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-shell{grid-template-columns:24% minmax(0,1fr);align-items:start;width:calc(100% - 128px);max-width:1680px;margin-inline:auto;display:grid}.sidebar{flex-direction:column;align-items:flex-start;min-width:0;height:100svh;min-height:650px;padding:76px 44px 50px 0;display:flex;position:sticky;top:0}.identity{flex-direction:column;align-items:flex-start;display:flex}.identity-name{letter-spacing:-.035em;font-size:clamp(21px,1.75vw,32px);font-weight:550;line-height:1.25}.identity-role{letter-spacing:-.025em;margin-top:12px;font-size:clamp(17px,1.4vw,24px)}.sidebar-note{letter-spacing:-.025em;margin-top:clamp(48px,7.4vh,96px);font-size:clamp(17px,1.35vw,23px);line-height:1.65}.primary-nav{flex-direction:column;gap:12px;margin-top:clamp(48px,8vh,102px);display:flex}.primary-nav .nav-primary{min-height:32px;color:var(--quiet);align-items:center;gap:16px;font-size:19px;font-weight:450;transition:color .16s;display:flex;position:relative}.primary-nav .nav-primary:before{content:"";background:0 0;width:25px;height:3px;transition:background .16s;display:block}.primary-nav .nav-primary:hover{color:var(--fg)}.primary-nav .nav-primary.active{color:var(--fg);font-weight:650}.primary-nav .nav-primary.active:before{background:var(--accent)}.contact{max-width:100%;margin-top:auto;padding-top:36px}.email-link{border-bottom:1px solid var(--muted);white-space:nowrap;padding-bottom:4px;font-size:clamp(14px,1.22vw,21px);line-height:1.5;transition:color .16s,border-color .16s}.email-link:hover{color:var(--accent);border-color:var(--accent)}.copy-button{color:var(--quiet);align-items:center;gap:8px;padding:10px 0 0;font-size:12px;line-height:1.5;transition:color .16s;display:flex}.copy-button:hover{color:var(--fg)}.copy-button svg{stroke:currentColor;stroke-width:1.1px;width:13px;height:13px}.main-content{outline:none;min-width:0;padding-top:76px;padding-bottom:48px}.project{border-top:1px solid var(--line);padding:25px 0 24px;position:relative}.project:last-child{border-bottom:1px solid var(--line)}.project-heading{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;min-height:64px;list-style:none;display:flex}.project-heading::-webkit-details-marker{display:none}.project-title{letter-spacing:-.055em;overflow-wrap:break-word;text-wrap:balance;font-size:clamp(29px,2.55vw,48px);font-weight:650;line-height:1.24}.project-toggle{width:22px;height:22px;display:block;position:relative}.project-toggle:before,.project-toggle:after{content:"";background:var(--fg);width:22px;height:1px;transition:transform .22s var(--ease), background .16s;position:absolute;top:10px;left:0}.project-toggle:after{transform:rotate(90deg)}.project[data-expanded=true] .project-toggle:after{transform:rotate(90deg)scaleX(0)}.project[data-expanded=true] .project-toggle:before{background:var(--accent);height:3px;top:9px}.project-heading:hover .project-title{color:var(--accent)}.project-closed-caption{color:var(--muted);margin-top:5px;font-size:17px;line-height:1.4}.project[open]{padding-top:30px;padding-bottom:30px}.project[open] .project-title:not(.long-title){letter-spacing:-.065em;font-size:clamp(70px,6.6vw,126px);line-height:1.08}.project[open] .project-title.long-title{font-size:clamp(34px,3.1vw,58px)}.project[open] .project-closed-caption{display:none}.project-panel{overflow:hidden}.project-category{letter-spacing:-.035em;margin-top:4px;font-size:clamp(22px,1.85vw,32px);font-weight:600;line-height:1.4}.project-overview{grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);gap:40px;margin-top:36px;display:grid}.project-description>p:first-child{letter-spacing:-.025em;word-break:keep-all;font-size:clamp(17px,1.3vw,22px);line-height:1.75}.project-stack{color:var(--muted);word-break:keep-all;margin-top:28px;font-size:clamp(15px,1.1vw,19px);line-height:1.55}.project-facts{border-left:1px solid var(--line);padding-top:1px;padding-left:36px}.project-facts dl{flex-direction:column;gap:9px;display:flex}.project-facts dl>div{word-break:keep-all;grid-template-columns:48px minmax(0,1fr);gap:14px;font-size:clamp(14px,1.1vw,19px);line-height:1.6;display:grid}.project-facts dt{color:var(--muted)}.project-facts dd{min-width:0}.reading-link{border-bottom:1px solid var(--muted);letter-spacing:-.02em;align-items:center;gap:10px;padding-bottom:4px;font-size:clamp(16px,1.25vw,21px);line-height:1.55;transition:color .16s,border-color .16s;display:inline-flex}.reading-link:hover{color:var(--accent);border-color:var(--accent)}.reading-link>span[aria-hidden]{transition:transform .16s;display:inline-block}.reading-link:hover>span[aria-hidden]{transform:translate(2px,-2px)}.project-facts .reading-link{margin-top:26px}.index-footer{color:var(--quiet);justify-content:space-between;gap:24px;margin-top:22px;font-size:12px;display:flex}.index-footer a:hover{color:var(--fg)}.page-surface{border-top:1px solid var(--line)}.page-eyebrow{color:var(--muted);letter-spacing:.02em;font-size:13px;line-height:1.5}.about-page{padding-top:34px}.about-title{letter-spacing:-.06em;margin-top:35px;font-size:clamp(40px,4vw,68px);font-weight:600;line-height:1.25}.about-lead{letter-spacing:-.03em;word-break:keep-all;max-width:40em;margin-top:34px;font-size:clamp(18px,1.4vw,24px);line-height:1.85}.about-sections{margin-top:64px}.about-section{border-top:1px solid var(--line);grid-template-columns:24% minmax(0,1fr);gap:30px;padding-block:30px;display:grid}.about-section h2{font-size:18px;font-weight:550;line-height:1.6}.about-section p{word-break:keep-all;letter-spacing:-.02em;font-size:18px;line-height:1.8}.about-section p+p{margin-top:16px}.about-section .about-detail{color:var(--muted);font-size:15px;line-height:1.9}.about-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-top:32px;display:flex}.text-link{color:var(--muted);text-underline-offset:5px;font-size:15px;text-decoration:underline}.text-link:hover{color:var(--accent)}.project-page{padding-top:30px}.back-link{color:var(--muted);align-items:center;gap:10px;font-size:14px;transition:color .16s;display:inline-flex}.back-link:hover{color:var(--fg)}.case-header{border-bottom:1px solid var(--line);margin-top:40px;padding-bottom:36px}.case-title{letter-spacing:-.065em;overflow-wrap:break-word;margin-top:10px;font-size:clamp(76px,7.4vw,140px);font-weight:650;line-height:1.13}.case-title.long-title{letter-spacing:-.055em;font-size:clamp(38px,4.15vw,76px);line-height:1.25}.case-subtitle{color:var(--muted);margin-top:6px;font-size:clamp(18px,1.55vw,27px);line-height:1.5}.case-summary{word-break:keep-all;letter-spacing:-.025em;max-width:43em;margin-top:26px;font-size:clamp(18px,1.35vw,23px);line-height:1.8}.case-meta{align-items:baseline;gap:24px;margin-top:28px;font-size:14px;display:flex}.case-meta>span{color:var(--muted)}.case-toc{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:10px 24px;padding-block:22px;display:flex}.case-toc a{color:var(--muted);gap:8px;font-size:13px;line-height:1.6;display:flex}.case-toc a:hover{color:var(--accent)}.case-toc a>span{color:var(--quiet);font-size:10px;line-height:2.1}.prose{max-width:100%;padding-block:12px 48px}.prose h2{letter-spacing:-.04em;margin-top:46px;margin-bottom:18px;scroll-margin-top:40px;font-size:clamp(24px,2vw,34px);font-weight:600;line-height:1.4}.prose p{letter-spacing:-.025em;word-break:keep-all;max-width:44em;font-size:clamp(17px,1.2vw,21px);line-height:1.95}.prose p+p{margin-top:20px}.prose a:not(:has(img)){text-underline-offset:5px;color:var(--accent);text-decoration:underline}.prose p:has(img){max-width:none;margin-block:28px 12px}.prose a:has(img){border:1px solid var(--line);background:var(--panel);transition:border-color .16s;display:block}.prose a:has(img):hover{border-color:var(--accent)}.prose img{width:100%;height:auto;display:block}.prose p:has(img)+p{color:var(--muted);margin-top:10px;font-size:13px}.case-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:32px;padding-top:30px;display:flex}.next-project{text-align:right;flex-direction:column;gap:8px;display:flex}.next-project>span{color:var(--muted);font-size:12px}.next-project strong{font-size:20px;font-weight:500;line-height:1.5;transition:color .16s}.next-project:hover strong{color:var(--accent)}.not-found{padding-block:60px}.not-found h1{letter-spacing:-.05em;margin-top:24px;font-size:clamp(32px,4vw,60px);font-weight:600;line-height:1.3}.not-found>p:not(.page-eyebrow){color:var(--muted);margin-top:30px;font-size:17px}.not-found .reading-link{margin-top:40px}.diagram-dialog{border:1px solid var(--line);color:var(--fg);background:var(--panel);width:min(1200px,100vw - 64px);max-width:none;max-height:calc(100svh - 64px);padding:0;overflow:hidden}.diagram-dialog::backdrop{background:#000000d1}.diagram-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:16px 22px;font-size:14px;display:flex}.diagram-toolbar button{align-items:center;gap:14px;padding:4px;display:flex}.diagram-toolbar button span{font-size:26px;line-height:1}.diagram-scroll{max-height:calc(100svh - 140px);overflow:auto}.diagram-scroll img{width:100%;min-width:760px;height:auto;display:block}.diagram-dialog[open]{animation:dialog-enter .16s var(--ease)}@keyframes dialog-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (width>=1800px){.project{padding-block:30px}.project[open]{padding-top:32px;padding-bottom:38px}.project-overview{gap:48px;margin-top:42px}.project-facts{padding-left:44px}.sidebar{padding-top:80px;padding-bottom:56px}.main-content{padding-top:80px}}@media (width>=960px) and (height<=740px){.sidebar{min-height:0;padding-top:42px;padding-bottom:28px}.main-content{padding-top:42px}.sidebar-note,.primary-nav{margin-top:32px}.contact{padding-top:24px}}@media (width<=1200px) and (width>=960px){.site-shell{grid-template-columns:25% minmax(0,1fr);width:calc(100% - 80px)}.sidebar{padding-right:28px}.identity-name{font-size:23px}.project-heading{gap:18px}.project-title{font-size:29px}.project[open] .project-title:not(.long-title){font-size:78px}.project-category{font-size:23px}.project-overview{gap:24px;margin-top:28px}.project-facts{padding-left:22px}.project-facts dl>div{grid-template-columns:30px minmax(0,1fr);gap:10px;font-size:14px}.project-description>p:first-child{font-size:17px}.project-stack{font-size:14px}.project-facts .reading-link{margin-top:20px}.about-section{grid-template-columns:1fr;gap:12px}}@media (width<=959px){.site-shell{width:calc(100% - 56px);max-width:760px;display:block}.sidebar{grid-template-columns:1fr auto;gap:24px;height:auto;min-height:0;padding:38px 0 30px;display:grid;position:static}.identity{grid-area:1/1}.identity-name{font-size:25px}.identity-role{margin-top:8px;font-size:17px}.sidebar-note{display:none}.primary-nav{grid-area:1/2;align-self:end;gap:6px;margin:0}.primary-nav .nav-primary{gap:10px;min-height:34px;font-size:15px}.primary-nav .nav-primary:before{width:14px;height:2px}.contact{flex-wrap:wrap;grid-area:2/1/auto/-1;align-items:baseline;gap:18px;margin:0;padding:0;display:flex}.email-link{font-size:14px}.copy-button{gap:6px;min-height:28px;padding:0;font-size:11px}.main-content{padding-top:0;padding-bottom:36px}.project{padding-block:22px}.project[open]{padding-block:26px}.project-heading{gap:20px;min-height:54px}.project-title{font-size:clamp(27px,4.4vw,36px)}.project-toggle{width:16px;height:16px}.project-toggle:before,.project-toggle:after{width:16px;top:7px}.project[data-expanded=true] .project-toggle:before{height:2px;top:6px}.project[open] .project-title:not(.long-title){font-size:clamp(66px,11vw,94px)}.project[open] .project-title.long-title{font-size:clamp(29px,5vw,40px)}.project-category{margin-top:5px;font-size:23px}.project-overview{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:26px;margin-top:26px}.project-description>p:first-child{font-size:17px;line-height:1.8}.project-stack{margin-top:20px;font-size:14px}.project-facts{padding-left:24px}.project-facts dl>div{grid-template-columns:28px minmax(0,1fr);gap:10px;font-size:13px}.project-facts .reading-link{margin-top:20px;font-size:16px}.project-closed-caption{margin-top:6px;font-size:14px}.about-page,.project-page{padding-top:26px}.about-title{margin-top:28px;font-size:46px}.about-lead{margin-top:24px;font-size:18px}.about-sections{margin-top:40px}.about-section{grid-template-columns:25% minmax(0,1fr);gap:24px;padding-block:26px}.about-section h2,.about-section p{font-size:16px}.about-section .about-detail{font-size:13px}.case-header{margin-top:30px}.case-title{font-size:90px}.case-title.long-title{font-size:44px}.case-subtitle{font-size:21px}.case-summary{font-size:18px}.prose h2{margin-top:36px;font-size:28px}.prose p{font-size:17px}.case-toc{column-gap:18px}.case-toc a{font-size:12px}.case-footer{gap:24px}.next-project strong{font-size:17px}.index-footer{font-size:11px}}@media (width<=599px){:root{--scroll-padding:24px}.site-shell{width:calc(100% - 40px)}.sidebar{gap:22px 12px;padding-top:28px;padding-bottom:24px}.identity-name{font-size:22px}.identity-role{font-size:16px}.primary-nav .nav-primary{gap:8px;font-size:14px}.primary-nav .nav-primary:before{width:12px}.contact{gap:14px}.project{padding-block:20px}.project[open]{padding-top:24px;padding-bottom:27px}.project-heading{gap:12px;min-height:48px}.project-title{letter-spacing:-.055em;font-size:25px}.project-toggle{width:13px;height:13px}.project-toggle:before,.project-toggle:after{width:13px;top:6px}.project[data-expanded=true] .project-toggle:before{top:5px}.project[open] .project-title:not(.long-title){font-size:64px}.project[open] .project-title.long-title{font-size:28px}.project-category{margin-top:6px;font-size:22px}.project-overview{grid-template-columns:1fr;gap:24px;margin-top:24px}.project-description>p:first-child{font-size:16px;line-height:1.85}.project-stack{margin-top:16px;font-size:13px}.project-facts{border-left:0;border-top:1px solid var(--line);padding-top:18px;padding-left:0}.project-facts dl{gap:8px}.project-facts dl>div{grid-template-columns:40px minmax(0,1fr);gap:14px;font-size:13px}.project-facts .reading-link{margin-top:20px}.project-closed-caption{font-size:13px;line-height:1.5}.index-footer{gap:16px;margin-top:20px;font-size:10px}.about-title{font-size:36px;line-height:1.35}.about-lead{font-size:17px;line-height:1.9}.desktop-break{display:none}.about-section{grid-template-columns:1fr;gap:14px}.about-section h2{color:var(--muted);font-size:16px}.about-section p{font-size:16px}.about-bottom{flex-direction:column;align-items:flex-start;gap:24px}.case-header{margin-top:28px;padding-bottom:26px}.case-title{font-size:76px}.case-title.long-title{font-size:34px}.case-subtitle{margin-top:8px;font-size:17px}.case-summary{margin-top:24px;font-size:17px}.case-meta{flex-direction:column;gap:6px;margin-top:24px;font-size:13px}.case-toc{grid-template-columns:1fr;gap:12px;padding-block:20px;display:grid}.case-toc a{gap:10px;font-size:13px}.prose{padding-bottom:36px}.prose h2{margin-top:34px;margin-bottom:16px;font-size:25px;line-height:1.5}.prose p{font-size:16px;line-height:1.95}.prose p+p{margin-top:18px}.prose p:has(img){margin-top:24px}.prose p:has(img)+p{font-size:12px}.case-footer{align-items:flex-start}.next-project{max-width:65%}.next-project strong{word-break:keep-all;font-size:15px}.next-project>span{font-size:11px}.back-link{font-size:13px}.diagram-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 40px)}.diagram-toolbar{padding:12px 14px;font-size:13px}.diagram-scroll{max-height:calc(100svh - 100px)}}@media (width<=359px){.site-shell{width:calc(100% - 32px)}.sidebar{column-gap:8px}.identity-name{font-size:19px}.identity-role{font-size:15px}.primary-nav .nav-primary{font-size:13px}.project-title{font-size:22px}.project[open] .project-title:not(.long-title){font-size:60px}.project[open] .project-title.long-title{font-size:25px}.project-category{font-size:20px}.email-link{font-size:13px}.copy-button{font-size:10px}.contact{gap:12px}}.project-heading-text{min-width:0}.project-closed-caption{display:block}.project-title{transition:font-size .32s var(--ease),color .16s}:root{--quiet:#8e8a84}@media (width>=960px) and (height<=900px){.sidebar{padding-top:56px;padding-bottom:42px}.main-content{padding-top:56px}.project{padding-block:16px}.project[open]{padding-block:24px}.project-heading{min-height:58px}.project[open] .project-title:not(.long-title){font-size:94px}.project-category{font-size:25px}.project-overview{margin-top:26px}.project-stack{margin-top:24px}.project-facts .reading-link{margin-top:22px}}@media (width>=1800px){.project{padding-block:24px}.project[open]{padding-block:28px}.project-overview{margin-top:32px}}.identity-name,.primary-nav .nav-primary,.primary-nav .nav-primary.active,.email-link,.copy-button,.project-title,.project-control,.reading-link,.video-link,.case-toc a,.back-link,.next-project,.index-footer a,.about-bottom a,.diagram-toolbar button{color:var(--accent)}.email-link{border-color:var(--accent)}.primary-nav .nav-primary:hover,.email-link:hover,.copy-button:hover,.index-footer a:hover,.back-link:hover,.next-project:hover,.case-toc a:hover,.project-heading:hover .project-title{color:var(--accent-hover)}.project{padding-inline:var(--project-inset);transition:background-color .16s,border-color .16s}.index-footer{padding-inline:var(--project-inset)}.project:hover,.project:focus-within{border-top-color:var(--accent);background-color:#19212a}.project:focus-within{box-shadow:inset 3px 0 var(--accent)}.project-heading{border-radius:2px}.project-heading:active .project-title{color:#fff}.project-control{flex-direction:column;flex-shrink:0;align-items:center;gap:7px;min-width:36px;display:flex}.project-toggle:before,.project-toggle:after{background:var(--accent)}.project-toggle-label{letter-spacing:0;white-space:nowrap;font-size:11px;line-height:1.2}.project-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.project-facts .project-actions .reading-link{margin:0}.primary-action{background:var(--accent);border:1px solid var(--accent);color:#101a26;min-height:44px;padding:9px 16px;font-size:16px;font-weight:650;transition:background-color .16s,border-color .16s,transform .16s}.primary-action:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#101a26}.primary-action:active,.video-link:active{transform:translateY(2px)}.video-link{border:1px solid #567495;align-items:center;gap:8px;min-height:44px;padding:8px 12px;font-size:14px;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.video-link:hover{background:var(--interactive-bg);border-color:var(--accent)}.video-link>span[aria-hidden]{font-size:10px}.motion-overlay{z-index:70;pointer-events:none;position:fixed;inset:0;view-transition-name:none!important}.motion-title-ghost{text-wrap:balance;overflow-wrap:break-word;margin:0;position:fixed}.prose a:has(img){cursor:zoom-in;border-color:#567495}.prose a:has(img):after{content:"확대해서 보기 ↗";color:var(--accent);border-top:1px solid #3c536e;padding:10px 14px;font-size:13px;display:block}.project-videos{border-bottom:1px solid var(--line);padding-block:30px;scroll-margin-top:30px}.project-videos>h2{margin-bottom:18px;font-size:18px;font-weight:550}.project-video{margin:0}.project-video+.project-video{margin-top:30px}.video-player{aspect-ratio:16/9;background:#0c0c0c;width:100%;min-height:200px}.project-video.is-portrait{max-width:360px}.project-video.is-portrait .video-player{aspect-ratio:9/16}.video-player iframe{border:0;width:100%;height:100%;min-height:200px;display:block}.project-video figcaption{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;margin-top:12px;font-size:13px;display:flex}.project-video figcaption a{color:var(--accent);text-underline-offset:4px;text-decoration:underline}@media (width<=959px){:root{--project-inset:24px}}@media (width<=599px){:root{--project-inset:18px}.project-heading{gap:12px}.project-control{min-width:32px}.project-actions{gap:10px;margin-top:20px}.primary-action{padding-inline:13px;font-size:15px}.project-videos{padding-block:24px}}@media (width<=359px){:root{--project-inset:14px}.project-heading{gap:8px}.project[open] .project-title:not(.long-title){white-space:nowrap;font-size:48px}}.sidebar{scrollbar-width:thin;min-height:0;overflow-y:auto}.sidebar>*{flex-shrink:0}.sidebar a:focus-visible,.sidebar button:focus-visible{outline-offset:-2px}.primary-nav{width:100%}.nav-submenu{border-left:1px solid var(--line);margin:0 0 2px 41px;padding:2px 0 2px 14px;list-style:none}.nav-submenu li+li{margin-top:3px}.nav-submenu a{min-height:30px;color:var(--accent);word-break:keep-all;overflow-wrap:anywhere;align-items:center;padding-block:3px;font-size:14px;line-height:1.5;transition:color .16s;display:flex;position:relative}.nav-submenu a:hover{color:var(--accent-hover)}.nav-submenu a.active{color:var(--accent-hover);font-weight:650}.nav-submenu a.active:before{content:"";background:var(--accent);width:2px;height:18px;position:absolute;left:-15px}@media (width<=959px){.sidebar{grid-template-columns:minmax(0,1fr);overflow:visible}.identity{grid-area:1/1}.primary-nav{grid-area:2/1;grid-template-columns:max-content minmax(0,1fr);justify-content:start;align-self:start;gap:12px 26px;display:grid}[data-nav-primary=projects]{grid-area:1/1}[data-nav-primary=about]{grid-area:1/2}.primary-nav .nav-primary{justify-self:start}.nav-submenu{border:0;flex-wrap:wrap;grid-area:2/1/auto/-1;gap:4px 18px;min-width:0;margin:0;padding:0;display:flex}.nav-submenu li{max-width:100%}.nav-submenu li+li{margin:0}.nav-submenu a{min-height:36px;padding-left:12px;font-size:13px}.nav-submenu a.active:before{left:0}.contact{grid-area:3/1}}.about-page{--about-anchor-offset:64px}.about-page .about-section{min-height:clamp(280px,40svh,440px);scroll-margin-top:calc(var(--about-anchor-offset) - var(--scroll-padding));padding-block:40px}.about-ending{min-height:calc(100vh - var(--about-anchor-offset));min-height:calc(100dvh - var(--about-anchor-offset));flex-direction:column;display:flex}.about-ending>.about-section{flex:1 0 auto}.about-ending>.about-bottom{flex:none}@media (width<=599px){.about-page{--about-anchor-offset:24px}.about-page .about-section{min-height:0;padding-block:32px}}
