.pf{--bg:#e4e0da;--card:#f5f3ef;--paper:#ece8e2;--ink:#1d1b19;--dim:rgba(29,27,25,0.64);--faint:rgba(29,27,25,0.46);--line:rgba(29,27,25,0.08);--hover:rgba(29,27,25,0.045);--chip:rgba(29,27,25,0.07);--label:rgba(245,243,239,0.8);--shadow:0 40px 100px -50px rgba(60,45,30,0.35);--gap:14px;--pad:12px;--edge:calc(var(--gap) + var(--pad));display:block;min-height:100svh;padding:var(--gap);background:var(--bg);color:var(--ink);font-family:var(--font-manrope),ui-sans-serif,system-ui,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .35s ease,color .35s ease}html.dark .pf{--bg:#0e0d0c;--card:#151312;--paper:#1a1816;--ink:#ece7df;--dim:rgba(236,231,223,0.64);--faint:rgba(236,231,223,0.44);--line:rgba(236,231,223,0.07);--hover:rgba(236,231,223,0.04);--chip:rgba(236,231,223,0.09);--label:rgba(21,19,18,0.78);--shadow:0 40px 120px -40px rgba(0,0,0,0.8)}.pf-card{display:grid;grid-template-columns:clamp(320px,30vw,460px) 1fr;gap:var(--pad);padding:var(--pad);border-radius:26px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);transition:background-color .35s ease,border-color .35s ease}.pf-flow{min-width:0;padding:0 26px 0 30px}.pf-hero{display:flex;flex-direction:column;min-height:calc(100svh - var(--edge) * 2);padding:32px 0 20px}.pf-head h1{margin:0;font-size:18px;font-weight:600;letter-spacing:-.01em}.pf-head p{margin:2px 0 0;color:var(--dim)}.pf-list{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:52px}.pf-item{display:inline-flex;align-items:center;gap:13px;margin:0 0 0 -7px;padding:6px 10px 6px 7px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:17px;font-weight:500;cursor:pointer;transition:color .4s linear,background-color .25s ease}.pf-item.is-on,.pf-item:hover{background:var(--hover)}.pf-item:focus-visible{outline:1.5px solid var(--dim);outline-offset:1px}.pf-item-icon{width:32px;height:32px;border-radius:8px;-o-object-fit:cover;object-fit:cover;flex:none;box-shadow:0 0 0 1px var(--line)}.pf-item-name{letter-spacing:-.005em}.pf-item-tag{font-size:12px;color:var(--faint);font-weight:500}.pf-hero-foot{display:flex;align-items:center;margin-top:auto;padding-top:24px;font-size:13px;color:var(--faint)}.pf-scroll-hint span{display:inline-block;margin-left:4px;animation:pf-nudge 2.4s cubic-bezier(.45,0,.2,1) infinite}@keyframes pf-nudge{0%,60%,to{transform:translateY(0)}30%{transform:translateY(3px)}}@keyframes pf-rise{0%{opacity:0;transform:translateY(var(--rise,14px))}}.pf-card{animation:pf-rise .8s cubic-bezier(.22,1,.36,1) both}.pf-item{--rise:10px;animation:pf-rise .6s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(.15s + var(--i, 0) * .04s)}.pf-case{position:relative;height:100svh}.pf-case-inner{position:sticky;top:var(--edge);height:calc(100svh - var(--edge) * 2);display:flex;flex-direction:column;padding:32px 0 20px;will-change:transform,opacity}.pf-case-top{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:13px;color:var(--faint);font-variant-numeric:tabular-nums}.pf-case-index{color:var(--ink);font-weight:500}.pf-case-index span{color:var(--faint);font-weight:400}.pf-case-main{margin:auto 0;padding:28px 0}.pf-case-title{display:flex;align-items:center;gap:16px}.pf-case-icon{width:54px;height:54px;flex:none;border-radius:13px;box-shadow:0 0 0 1px var(--line),0 10px 24px -12px rgba(0,0,0,.35)}.pf-case-title{container-type:inline-size}.pf-case-title h2{min-width:0;margin:0;font-size:min(clamp(40px,3.9vw,62px),calc((100cqi - 70px) / (var(--chars, 6) * .62)));line-height:1;font-weight:600;letter-spacing:-.04em}.pf-mask{overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}.pf-in,.pf-mask{display:block}.pf-case-lead{margin:22px 0 0;font-size:clamp(19px,1.5vw,23px);line-height:1.35;font-weight:500;letter-spacing:-.015em;text-wrap:balance}.pf-rule{height:1px;margin:26px 0 22px;background:var(--line);transform-origin:left center}.pf-case-meta{color:var(--faint)}.pf-case-body{margin:0;color:var(--dim);max-width:40ch}.pf-case-points{margin:18px 0 0;padding:0;list-style:none;color:var(--dim)}.pf-case-points li{position:relative;padding:7px 0 7px 18px;border-top:1px solid var(--line)}.pf-case-points li:last-child{border-bottom:1px solid var(--line)}.pf-case-points li:before{content:"";position:absolute;left:2px;top:16px;width:5px;height:5px;background:var(--faint)}.pf-case-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px}.pf-link{color:var(--ink);text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:3px;transition:text-decoration-color .3s ease}.pf-link:hover{text-decoration-color:currentColor}.pf-link-row{display:inline-flex;align-items:baseline;gap:8px}.pf-link-out{color:var(--faint);text-decoration:none;transition:color .25s ease}.pf-link-out:hover{color:var(--ink)}@media (max-width:820px){.pf-link-out{display:none}}.pf-site{z-index:2;pointer-events:none}.pf-site,.pf-site-frame{position:absolute;inset:0}.pf-site-frame{clip-path:circle(0 at 50% 50%);transition:clip-path .45s cubic-bezier(.55,0,.75,.2)}.pf-site.is-ready .pf-site-frame{clip-path:circle(75% at 50% 50%);pointer-events:auto;transition:clip-path .9s cubic-bezier(.22,1,.36,1)}.pf-site-frame iframe{display:block;width:100%;height:100%;border:0;background:var(--paper)}.pf-site-bar{position:absolute;left:50%;bottom:14px;display:flex;align-items:center;gap:2px;padding:4px 4px 4px 14px;border:1px solid var(--line);border-radius:999px;background:var(--label);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:12.5px;color:var(--dim);pointer-events:auto;transform:translateX(-50%);animation:pf-bar-in .5s cubic-bezier(.22,1,.36,1) both}@keyframes pf-bar-in{0%{opacity:0;transform:translate(-50%,8px)}}.pf-site-host{margin-right:8px;font-variant-numeric:tabular-nums}.pf-site-bar a,.pf-site-bar button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--dim);cursor:pointer;transition:color .2s ease,background-color .2s ease}.pf-site-bar a:hover,.pf-site-bar button:hover{color:var(--ink);background:var(--hover)}.pf-site-bar :focus-visible{outline:1.5px solid var(--dim);outline-offset:1px}@media (prefers-reduced-motion:reduce){.pf-site-frame,.pf-site.is-ready .pf-site-frame{transition:none}.pf-site-bar{animation:none}}.pf-ticks{display:flex;gap:2px}.pf-ticks button{padding:3px 6px;border:0;border-radius:6px;background:transparent;color:var(--faint);font:inherit;font-size:12px;font-variant-numeric:tabular-nums;cursor:pointer;transition:color .3s ease,background-color .3s ease}.pf-ticks button:hover{color:var(--ink)}.pf-ticks button.is-on{color:var(--ink);background:var(--chip)}.pf-about,.pf-contact{border-top:1px solid var(--line);padding:34px 0}.pf-about{min-height:60svh}.pf-contact{display:flex;flex-direction:column;min-height:calc(100svh - var(--edge) * 2)}.pf-kicker{margin:0;font-size:13px;color:var(--faint)}.pf-about-text{margin:14px 0 0;font-size:21px;line-height:1.4;font-weight:500;letter-spacing:-.015em;text-wrap:pretty}.pf-contact-mail{margin-top:14px;font-size:clamp(20px,2vw,26px);font-weight:500;letter-spacing:-.02em;color:var(--ink);text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:5px;overflow-wrap:anywhere;transition:text-decoration-color .3s ease}.pf-contact-mail:hover{text-decoration-color:currentColor}.pf-contact-links{display:flex;gap:20px;margin-top:auto;padding-top:24px;font-size:13px;color:var(--faint)}.pf-contact-links a{color:var(--dim);text-decoration:none;transition:color .25s ease}.pf-contact-links a:hover{color:var(--ink)}.pf-stage-wrap{position:sticky;top:var(--edge);align-self:start;height:calc(100svh - var(--edge) * 2);min-width:0}.pf-stage{position:relative;height:100%;border-radius:20px;overflow:hidden;background:var(--paper);isolation:isolate;background-image:radial-gradient(color-mix(in srgb,var(--ink) 16%,transparent) .8px,transparent 1.3px);background-size:6px 6px}.pf-stage:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 90% 80% at 18% 88%,transparent 20%,var(--paper) 75%)}.pf-stage-label{position:absolute;left:16px;bottom:16px;display:flex;gap:10px;padding:6px 12px;border-radius:999px;background:var(--label);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);font-size:12.5px;font-weight:500;color:var(--ink);opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .45s cubic-bezier(.16,1,.3,1);pointer-events:none}.pf-stage-label.is-on{opacity:1;transform:none}.pf-stage-label span{color:var(--faint);font-variant-numeric:tabular-nums}@media (max-width:820px){.pf{--gap:10px;--pad:8px}.pf-card{grid-template-columns:1fr;border-radius:22px}.pf-stage-wrap{order:-1;top:var(--gap);z-index:2;height:46svh;box-shadow:0 0 0 var(--pad) var(--card),0 calc(var(--gap) * -2) 0 var(--gap) var(--card)}.pf-stage,.pf-stage-wrap{border-radius:16px}.pf-flow{padding:0 12px}.pf-hero{min-height:auto;padding:24px 0 28px}.pf-list{margin-top:24px}.pf-case{height:auto}.pf-case-inner{position:relative;top:auto;height:auto;padding:28px 0}.pf-case-main{margin:0;padding:24px 0}.pf-case-title h2{font-size:min(34px,calc((100cqi - 60px) / (var(--chars, 6) * .62)))}.pf-case-icon{width:44px;height:44px;border-radius:11px}.pf-contact{min-height:50svh}}@media (prefers-reduced-motion:reduce){.pf-item,.pf-stage-label{transition:none}.pf-card,.pf-item,.pf-scroll-hint span{animation:none}}html:has(.pf),html:has(.pf) body{background:#e4e0da}html.dark:has(.pf),html.dark:has(.pf) body{background:#0e0d0c;color-scheme:dark}@property --fold{syntax:"<length>";inherits:true;initial-value:26px}.pf-stage-wrap{--fold:26px;--flip:#1a1816;transition:--fold .55s cubic-bezier(.34,1.56,.64,1)}html.dark .pf-stage-wrap{--flip:#ece8e2}@media (hover:hover){.pf-stage-wrap:has(.pf-fold:hover){--fold:40px}}.pf-stage-wrap:has(.pf-fold:focus-visible){--fold:40px}.pf-stage-wrap:has(.pf-fold:active){--fold:58px;transition-duration:.18s}.pf-stage{clip-path:polygon(0 0,calc(100% - var(--fold)) 0,100% var(--fold),100% 100%,0 100%)}.pf-fold{--reach:8px;position:absolute;top:calc(var(--reach) * -1);right:calc(var(--reach) * -1);z-index:3;width:calc(var(--fold) + var(--reach) * 2);height:calc(var(--fold) + var(--reach) * 2);padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.pf-fold:focus-visible{outline:none}.pf-fold:before{content:"";position:absolute;top:var(--reach);right:var(--reach);width:var(--fold);height:var(--fold);border-bottom-left-radius:7px;background:linear-gradient(to bottom left,transparent 50%,color-mix(in srgb,var(--flip) 82%,#000) 50%,var(--flip) 72%);filter:drop-shadow(-2px 3px 3px rgba(0,0,0,.2))}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}html.is-turning *,html.is-turning :before{transition:none!important}html.is-turning .pf-stage{view-transition-name:pf-sheet}html.is-turning .pf-fold{view-transition-name:pf-ear}::view-transition-old(pf-ear){display:none}.pf-turn{position:fixed;z-index:100;overflow:hidden;pointer-events:none;view-transition-name:pf-turn}.pf-turn>div{position:absolute;inset:0;filter:drop-shadow(-4px 6px 12px rgba(0,0,0,.28))}@property --turn-d{syntax:"<length>";inherits:false;initial-value:0}.pf-turn>div>div{position:absolute;inset:0;background:linear-gradient(225deg,var(--c-crease) calc(var(--turn-d) * .7071),var(--c-lit) calc(var(--turn-d) * .7071 + 22px),var(--c-paper) calc(var(--turn-d) * 1.4142))}::view-transition-group(pf-ear),::view-transition-group(pf-sheet),::view-transition-group(pf-turn),::view-transition-new(pf-ear),::view-transition-new(pf-sheet),::view-transition-new(pf-turn),::view-transition-old(pf-sheet),::view-transition-old(pf-turn){animation:none}@media (prefers-reduced-motion:reduce){.pf-stage-wrap{transition:none}}.pf-stage-nav{position:absolute;right:16px;bottom:16px;z-index:2;display:flex;gap:6px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .35s ease,transform .5s cubic-bezier(.16,1,.3,1)}.pf-stage-nav.is-on{opacity:1;transform:none;pointer-events:auto}.pf-stage-nav button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--label);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--ink);cursor:pointer;transition:transform .35s cubic-bezier(.16,1,.3,1),background-color .2s ease}.pf-stage-nav button:hover{transform:scale(1.08)}.pf-stage-nav button:active{transform:scale(.92);transition-duration:.1s}.pf-stage-nav button:focus-visible{outline:1.5px solid var(--dim);outline-offset:2px}@media (prefers-reduced-motion:reduce){.pf-stage-nav,.pf-stage-nav button{transition:none}}