.portfolio-canvas{min-height:80vh}:root[data-page=portfolio] body{color:#1a1a1a;background:#fff}:root[data-page=portfolio] #menu,:root[data-page=portfolio] .colophon{display:none}:root[data-page=portfolio] #page{max-width:none;margin:0;padding:0;display:block}:root[data-page=portfolio] #content{max-width:none}:root[data-page=portfolio] body{background:#e9e9e7;height:100vh;overflow:hidden}:root[data-page=portfolio][data-theme=dark] body{background:#1a1a1a}:root[data-page=portfolio][data-theme=dark] .pf-rail-tab{color:#9a9a96}:root[data-page=portfolio][data-theme=dark] .pf-rail-tab:hover,:root[data-page=portfolio][data-theme=dark] .pf-rail-tab--on{color:#ecebe6}:root[data-page=portfolio][data-theme=dark] .pf-rail-marker{background:#ecebe6}:root[data-page=portfolio][data-theme=dark] .pf-rail-home{color:#9a9a96}:root[data-page=portfolio][data-theme=dark] .pf-rail-home:hover{color:#ecebe6}:root[data-page=portfolio][data-theme=dark] .pf-rail,:root[data-page=portfolio][data-theme=dark] .pf-rail{background:0 0}:root[data-page=portfolio] .container{width:100%;max-width:none;margin:0;padding:0;overflow-x:hidden}.pf-empty{color:#777;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:80vh;font-family:Arial,Helvetica,sans-serif;display:flex}.pf-viewer{height:100vh;font-family:Arial,Helvetica,sans-serif;display:flex;overflow:hidden}.pf-rail{background:0 0;border-right:none;flex-direction:column;flex-shrink:0;gap:20px;width:196px;height:100vh;padding:26px 10px;display:flex;position:sticky;top:0}.pf-rail--solo{width:56px;padding:22px 8px}.pf-rail-toggle{margin-top:2px}.pf-rail-home{color:#9a9a96;padding:4px 10px;font-size:1.1rem;text-decoration:none}.pf-rail-home:hover{color:#111}.pf-rail-tabs{flex-direction:column;gap:4px;display:flex}.pf-rail-tab{font:inherit;text-align:left;color:#8a8a86;cursor:pointer;background:0 0;border:none;padding:8px 10px 8px 16px;font-size:.9rem;transition:color .15s;position:relative}.pf-rail-tab:hover{color:#333}.pf-rail-tab--on{color:#111}.pf-rail-marker{z-index:0;background:#111;border-radius:2px;width:2px;position:absolute;top:6px;bottom:6px;left:0}.pf-rail-label{z-index:1;position:relative}.pf-rail-tab--link{align-items:center;gap:5px;text-decoration:none;display:inline-flex}.pf-rail-ext{opacity:.55;flex-shrink:0}.pf-main{flex:1;justify-content:center;align-items:stretch;min-width:0;height:100vh;padding:0;display:flex;position:relative;overflow:hidden}.pf-viewer--gated .pf-page-stage{filter:blur(16px);pointer-events:none;-webkit-user-select:none;user-select:none}.pf-gate{z-index:20;pointer-events:auto;background:#e9e9e7b8;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}:root[data-page=portfolio][data-theme=dark] .pf-gate{background:#1a1a1ab8}.pf-gate-card{text-align:center;background:#ffffffe0;border:1px solid #00000012;border-radius:12px;max-width:380px;padding:30px 34px;box-shadow:0 10px 34px #0000001f}:root[data-page=portfolio][data-theme=dark] .pf-gate-card{background:#262626e6;border-color:#ffffff1a;box-shadow:0 10px 34px #0006}.pf-gate-title{letter-spacing:-.01em;color:#1a1a1a;margin:0 0 8px;font-size:1.02rem;font-weight:600}.pf-gate-body{color:#5c5c58;margin:0;font-size:.88rem;line-height:1.6}:root[data-page=portfolio][data-theme=dark] .pf-gate-title{color:#ecebe6}:root[data-page=portfolio][data-theme=dark] .pf-gate-body{color:#a3a29d}@supports not (filter:blur(1px)){.pf-gate{background:#e9e9e7}:root[data-page=portfolio][data-theme=dark] .pf-gate{background:#1a1a1a}}.pf-page-frame{background:#fff;width:100%;height:100%;position:relative;box-shadow:-8px 0 24px #0000001a}.pf-embed{background:#fff;border:none;width:100%;height:100%;display:block}@media (max-width:640px){:root[data-page=portfolio] body{height:100dvh}.pf-viewer{flex-direction:column;height:100dvh}.pf-rail{z-index:10;background:#fff;border-bottom:1px solid #eceae5;border-right:none;flex-direction:row;flex-shrink:0;align-items:center;gap:6px;width:100%;height:auto;padding:10px 12px;position:sticky;top:0;overflow-x:auto}.pf-rail-home{flex-shrink:0;padding:4px 8px;font-size:1.15rem}.pf-rail-toggle{flex-shrink:0;margin-left:auto}.pf-rail-tabs{flex-direction:row;gap:2px}.pf-rail-tab{white-space:nowrap;padding:8px 12px;font-size:.88rem}.pf-rail-marker{width:auto;height:2px;inset:auto 10px 0}.pf-main{flex:1;height:auto;padding:10px}.pf-page-frame{max-width:100%;box-shadow:0 1px 6px #00000024}.pf-nav{width:34px;height:34px}.pf-nav--prev{left:8px}.pf-nav--next{right:8px}}.pf-nav{z-index:5;color:#333;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe6;border:1px solid #00000014;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s,color .15s,transform .12s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #0000001f}.pf-nav:hover{color:#000;background:#fff}.pf-nav:active{transform:translateY(-50%)scale(.94)}.pf-nav--prev{left:16px}.pf-nav--next{right:16px}.pf-page-count{z-index:5;color:#666;background:#ffffffe6;border-radius:999px;padding:3px 10px;font-family:Arial,Helvetica,sans-serif;font-size:.72rem;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 1px 4px #0000001a}.pf-loader{z-index:30;background:var(--background,#e9e9e7);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-family:Arial,Helvetica,sans-serif;display:flex;position:fixed;inset:0}:root[data-page=portfolio][data-theme=dark] .pf-loader{background:#1a1a1a}.pf-pages{width:46px;height:58px;position:relative}.pf-page-card{transform-origin:50% 85%;background:#fff;border:1px solid #00000024;border-radius:4px;position:absolute;inset:0;box-shadow:0 3px 10px #0000002e}:root[data-page=portfolio][data-theme=dark] .pf-page-card{background:#f2f1ee;border-color:#0000004d}.pf-page-card--a{animation:1.4s ease-in-out infinite pf-fan-a}.pf-page-card--b{animation:1.4s ease-in-out infinite pf-fan-b}.pf-page-card--c{animation:1.4s ease-in-out infinite pf-fan-c}@keyframes pf-fan-a{0%,to{transform:rotate(-12deg)translateY(0)}50%{transform:rotate(-4deg)translateY(-3px)}}@keyframes pf-fan-b{0%,to{transform:rotate(0)translateY(-2px)}50%{transform:rotate(0)translateY(-7px)}}@keyframes pf-fan-c{0%,to{transform:rotate(12deg)translateY(0)}50%{transform:rotate(4deg)translateY(-3px)}}.pf-loader-text{letter-spacing:.06em;color:#888;font-size:.8rem}.pf-loader-bar{background:#80808038;border-radius:2px;width:170px;height:2px;overflow:hidden}.pf-loader-bar span{background:#999;border-radius:2px;width:40%;height:100%;animation:1s cubic-bezier(.4,0,.6,1) infinite pf-sweep;display:block}:root[data-page=portfolio][data-theme=dark] .pf-loader-bar span{background:#ccc}@keyframes pf-sweep{0%{transform:translate(-110%)}to{transform:translate(390%)}}@media (prefers-reduced-motion:reduce){.pf-page-card--a,.pf-page-card--b,.pf-page-card--c,.pf-loader-bar span{animation-duration:2.5s}}.pf-config{flex-direction:column;gap:4px;margin-top:6px;display:flex}.pf-config-btn{color:#8a8a86;text-align:center;cursor:pointer;background:0 0;border:1px solid #dddbd6;border-radius:5px;width:30px;padding:3px 0;font-family:Arial,Helvetica,sans-serif;font-size:.68rem;text-decoration:none;transition:color .15s,border-color .15s}.pf-config-btn:hover{color:#111;border-color:#999}.pf-config-btn--doc{justify-content:center;align-items:center;padding:4px 0;display:flex}:root[data-page=portfolio][data-theme=dark] .pf-config-btn{color:#9a9a96;border-color:#3a3936}:root[data-page=portfolio][data-theme=dark] .pf-config-btn:hover{color:#ecebe6;border-color:#777}.pf-notice{z-index:40;color:#eee;background:#1e1e1eeb;border-radius:8px;align-items:center;gap:10px;max-width:92vw;padding:8px 12px;font-family:Arial,Helvetica,sans-serif;font-size:.78rem;display:none;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.pf-notice button{font:inherit;color:#bbb;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1rem}@media (max-width:640px){.pf-notice{display:flex}.pf-config{flex-direction:row;margin-top:0;margin-left:6px}.pf-config-btn{width:38px;padding:5px 0}}.pf-page-stage{background:0 0;justify-content:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden auto}.pdf-holder{flex-direction:column;align-items:center;gap:22px;width:100%;padding:24px 8px 60px;display:flex}.pdf-page{background:#fff;border-radius:3px;display:block;box-shadow:0 1px 4px #0000002e,0 10px 30px #00000038}.pdf-pagewrap{position:relative}.pdf-link{border-radius:2px;display:block;position:absolute}.pdf-link:hover{background:#508cff24;box-shadow:0 0 0 2px #508cff40}@media (max-width:640px){.pdf-holder{gap:12px;padding:12px 4px 40px}}
