.pf-case{padding-bottom:85px}.pf-case .pf-route-hero>.pf-text-link{margin-bottom:26px}.pf-case .pf-route-hero h1{font-size:clamp(44px,5.5vw,80px)}.pf-case .pf-stack{margin-top:25px}.pf-case>.pf-visual{aspect-ratio:2.25;max-height:550px}.pf-case>.pf-visual img{max-width:1040px;min-height:unset;height:auto}.pf-case>.pf-visual-automation,.pf-case>.pf-visual-web{padding:45px 70px 0}.pf-case>.pf-visual .pf-contract{width:65%}.pf-case-body{display:grid;grid-template-columns:1fr 2fr;gap:70px;margin-top:65px}.pf-case-body aside{align-self:start;position:sticky;top:125px}.pf-case-body aside h2{font-size:23px;margin:16px 0}.pf-case-body aside p:not(.pf-eyebrow){font-size:13px;color:var(--pf-muted)}.pf-case-body aside>span{font-size:11px;color:var(--pf-muted)}.pf-case-links{display:flex;flex-direction:column;align-items:start;gap:12px;margin-top:28px}.pf-case-body>div>section{padding-bottom:38px;margin-bottom:38px;border-bottom:1px solid var(--pf-line)}.pf-case-body section h2{font-size:31px;margin:16px 0 22px}.pf-case-body li,.pf-case-body section p:not(.pf-eyebrow){font-size:16px;color:var(--pf-muted);line-height:1.75}.pf-case-body ul{padding-left:20px;list-style:disc}.pf-case-body li+li{margin-top:12px}@media(max-width:1100px){.pf-case-body{gap:35px}}@media(max-width:760px){.pf-case .pf-route-hero h1{font-size:44px}.pf-case>.pf-visual{aspect-ratio:1.5}.pf-case>.pf-visual-automation,.pf-case>.pf-visual-web{padding:20px 20px 0}.pf-case>.pf-visual .pf-contract{width:80%}.pf-case-body{grid-template-columns:1fr;gap:35px;margin-top:35px}.pf-case-body aside{position:static;border-bottom:1px solid var(--pf-line);padding-bottom:30px}.pf-case-body section h2{font-size:28px}.pf-case-body li,.pf-case-body section p:not(.pf-eyebrow){font-size:15px}}.pf-case>.pf-visual{aspect-ratio:1.44;max-height:none;border:1px solid var(--pf-line);border-radius:6px}.pf-case>.pf-visual img{width:100%;max-width:none;height:100%;object-fit:contain;min-height:0}.pf-case-primary-actions{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 30px}.pf-case-primary-actions>.pf-button:not(:first-child){background:transparent;color:var(--pf-ink)!important;border-color:var(--pf-line)}.pf-case-body aside{position:static}.pf-next-work{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid var(--pf-line);margin-top:65px;padding:40px 0 0}.pf-next-work h2{font-size:28px;margin-top:14px}.pf-case-body{margin-bottom:50px}.pf-case .pf-design-showcase{margin-top:5px}@media(max-width:760px){.pf-case>.pf-visual{aspect-ratio:1.44}.pf-next-work{flex-direction:column;align-items:start;margin-top:30px;padding-top:30px;gap:20px}.pf-next-work h2{font-size:27px}.pf-case-body{margin-bottom:25px}.pf-case-primary-actions{gap:10px}.pf-case-primary-actions .pf-button{font-size:12px}}.pf-case-compact{padding-top:20px;padding-bottom:38px}.pf-back{margin-bottom:18px}.pf-case-intro{margin-bottom:24px;max-width:960px}.pf-case-intro.has-screenshot{display:grid;grid-template-columns:1fr 1.05fr;gap:36px;align-items:center;max-width:none}.pf-case-intro h1{font-size:clamp(32px,3.2vw,48px);line-height:1.1;margin:12px 0 16px;max-width:850px}.pf-case-summary{font-size:16px;color:var(--pf-muted);max-width:740px;margin:0 0 12px}.pf-case-status{font-size:12px;color:var(--pf-muted);margin:0}.pf-case-intro .pf-stack{margin-top:15px}.pf-case-intro .pf-case-primary-actions{margin:22px 0 0;gap:10px}.pf-case-primary-actions .pf-button{font-size:12px;min-height:44px;padding:10px 14px;gap:15px}.pf-case-intro>.pf-visual{border:1px solid var(--pf-line);border-radius:6px}.pf-case-jumps{display:flex;gap:24px;flex-wrap:wrap;border-block:1px solid var(--pf-line);padding:12px 0;margin:24px 0;font-size:12px}.pf-case-jumps a{padding:5px 0}.pf-case-details{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px}.pf-case-details>section{scroll-margin-top:110px;border-bottom:1px solid var(--pf-line);padding-bottom:24px}.pf-case-details h2{font-size:23px;letter-spacing:-.03em;margin:0 0 12px}.pf-case-details li,.pf-case-details p{font-size:14px;line-height:1.7;color:var(--pf-muted)}.pf-case-details p{margin:0}.pf-case-details ul{padding-left:18px;margin:0;list-style:disc}.pf-case-details li+li{margin-top:8px}.pf-scope-note{margin-top:20px;padding:16px;background:var(--pf-section);border-radius:4px}.pf-scope-note h3{font-size:14px;letter-spacing:0;margin-bottom:7px}.pf-scope-note p{font-size:12px}.pf-case-compact .pf-next-work{margin-top:26px;padding-top:16px}.pf-case-compact>.pf-design-showcase{max-width:960px}.pf-case-compact .pf-design-heading{display:none}.pf-case-compact .pf-design-description{padding:12px 0}.pf-case-compact .pf-design-preview{aspect-ratio:2!important}.pf-case-compact .pf-design-description .pf-text-link{display:none}@media(max-width:760px){.pf-case-details,.pf-case-intro.has-screenshot{grid-template-columns:1fr}.pf-case-intro.has-screenshot{gap:22px}.pf-case-compact{padding-top:12px}.pf-case-intro h1{font-size:34px}.pf-case-summary{font-size:15px}.pf-case-details{gap:22px}.pf-case-details>section{scroll-margin-top:90px}.pf-case-jumps{gap:18px}.pf-case-compact .pf-next-work{flex-direction:row;gap:16px}.pf-case-compact .pf-design-preview{aspect-ratio:1.44!important}.pf-next-work .pf-text-link{font-size:12px}}.pf-case-downloads{margin-top:24px;padding:20px 0;border-top:1px solid var(--pf-line)}.pf-case-downloads h2{font-size:23px;margin-bottom:12px}.pf-case-downloads p{font-size:14px;color:var(--pf-muted);max-width:80ch}.pf-case-downloads .pf-case-links{display:flex;flex-direction:row;flex-wrap:wrap;gap:18px 28px}.pf-case-downloads .pf-text-link{font-size:13px}.pf-contract-bench{border-block:1px solid var(--pf-line);margin:38px 0 32px;padding:24px 0;scroll-margin-top:110px}.pf-bench-heading{display:grid;grid-template-columns:1fr .55fr;align-items:end;gap:24px;margin-bottom:20px}.pf-bench-heading h2{font-size:clamp(30px,3.4vw,46px);margin-top:15px;line-height:1.06}.pf-bench-heading h2 span{color:var(--pf-blue)}.pf-bench-heading>p{font-size:12px;color:var(--pf-muted);max-width:330px;margin:0}.pf-bench-stages{display:grid;grid-template-columns:repeat(6,1fr);border-block:1px solid var(--pf-line)}.pf-bench-stages button{display:flex;gap:12px;align-items:center;padding:12px 8px;min-height:48px;font-size:12px;cursor:pointer;border-bottom:3px solid transparent}.pf-bench-stages button small{font-size:10px;color:var(--pf-muted)}.pf-bench-stages button[aria-current=step]{color:var(--pf-blue);border-bottom-color:var(--pf-blue);background:var(--pf-section)}.pf-bench-stages button:hover{background:var(--pf-section)}.pf-bench-explanation{min-height:158px;padding:20px 0}.pf-bench-explanation h3{font-size:25px;line-height:1.18;margin:8px 0}.pf-bench-explanation p:not(.pf-eyebrow){font-size:12px;line-height:1.6;color:var(--pf-muted);max-width:800px;margin:0}.pf-bench-workspace{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--pf-line)}.pf-bench-trace{padding:18px 24px 18px 0;min-width:0}.pf-bench-effect{padding:18px 0 18px 24px;border-left:1px solid var(--pf-line);min-width:0}.pf-bench-workspace-label{font-size:10px;letter-spacing:.04em;color:var(--pf-ink);margin:0 0 18px}.pf-bench-rail-labels{display:grid;grid-template-columns:1fr 1fr;gap:36px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--pf-muted);padding:0 0 10px}.pf-bench-field{display:grid;grid-template-columns:1fr 22px 1fr;align-items:center;gap:8px;border-top:1px solid var(--pf-line);min-height:62px;padding:8px 0}.pf-bench-field>div{display:flex;align-items:start;flex-direction:column;gap:5px;min-width:0}.pf-bench-field code,.pf-bench-field strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;overflow-wrap:anywhere}.pf-bench-field code{color:var(--pf-muted)}.pf-bench-field strong{font-weight:500;color:var(--pf-blue);transition:opacity .18s}.pf-bench-trace[data-mapped=false] .pf-bench-field>div:last-child strong{color:var(--pf-muted)}.pf-bench-wire{position:relative;color:var(--pf-blue);text-align:center;font-size:24px;transition:color .3s}.pf-bench-wire:before{content:"";position:absolute;width:100%;height:1px;background:var(--pf-blue);left:0;top:50%;transform:scaleX(1);transform-origin:left;transition:transform .3s}.pf-bench-trace[data-mapped=false] .pf-bench-wire:before{transform:scaleX(0)}.pf-bench-trace[data-mapped=false] .pf-bench-wire{color:var(--pf-line)}.pf-bench-field>div:last-child{transition:transform .3s;transform:translateX(0)}.pf-bench-trace[data-mapped=false] .pf-bench-field>div:last-child{transform:translateX(4px)}.pf-bench-contract summary{min-height:44px;display:list-item;align-content:center;cursor:pointer;font-size:11px;color:var(--pf-blue);border-top:1px solid var(--pf-line)}.pf-bench-contract summary:focus-visible{outline:3px solid var(--pf-blue);outline-offset:3px}.pf-bench-excluded{font-size:11px;color:var(--pf-muted);margin:12px 0}.pf-bench-ledger{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:10px;padding:12px;background:var(--pf-section);border-block:1px solid var(--pf-line)}.pf-bench-ledger>div{display:flex;flex-direction:column;align-items:start;gap:10px;min-width:0}.pf-bench-ledger span{font-size:10px;line-height:1.5;color:var(--pf-muted)}.pf-bench-ledger strong{font-size:clamp(19px,2vw,27px);line-height:1.1;font-weight:400;letter-spacing:-.04em;color:var(--pf-blue)}.pf-bench-transaction{padding:16px 0 0}.pf-bench-transaction ol{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:12px 0;padding:0;gap:12px}.pf-bench-transaction li{font-size:10px;line-height:1.5;border-top:2px solid var(--pf-line);padding-top:8px;color:var(--pf-muted);transition:border-color .3s,color .3s}.pf-bench-transaction li small{display:block;font-size:9px;margin-right:12px;margin-bottom:4px}.pf-bench-transaction li[data-active=true]{color:var(--pf-blue);border-color:var(--pf-blue)}.pf-bench-transaction li[data-rollback=true]{text-decoration:line-through;border-style:dashed}.pf-bench-transaction>p{font-size:11px;line-height:1.5;color:var(--pf-muted);margin:0;min-height:34px}.pf-bench-transaction .pf-eyebrow{font-size:9px!important}.pf-bench-controls{display:grid;grid-template-columns:160px 1fr 160px;gap:10px;margin-top:16px;align-items:center}.pf-bench-controls button{border:1px solid var(--pf-line);min-height:48px;font-size:12px;padding:8px;cursor:pointer}.pf-bench-controls button:hover:not(:disabled){border-color:var(--pf-blue);color:var(--pf-blue)}.pf-bench-controls button:disabled{opacity:.45;cursor:default}.pf-bench-position{justify-self:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;color:var(--pf-muted)}.pf-bench-controls .pf-bench-reset{grid-column:1/-1;justify-self:center;border:0;text-decoration:underline;color:var(--pf-muted);min-height:44px}.pf-bench-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.pf-bench-footnote{border-top:1px solid var(--pf-line);padding-top:12px;font-size:10px;color:var(--pf-muted)}.pf-bench-footnote a{color:var(--pf-blue);text-decoration:underline;margin-left:6px}@media(max-width:760px){.pf-contract-bench{margin-top:28px}.pf-bench-heading{grid-template-columns:1fr;gap:12px;margin-bottom:18px}.pf-bench-heading h2{font-size:30px}.pf-bench-stages{grid-template-columns:repeat(3,1fr)}.pf-bench-stages button{gap:6px;padding:10px 5px;font-size:11px}.pf-bench-explanation{min-height:174px;padding-block:16px}.pf-bench-explanation h3{font-size:22px}.pf-bench-workspace{grid-template-columns:1fr}.pf-bench-trace{padding:14px 0 0}.pf-bench-workspace-label{margin-bottom:12px}.pf-bench-field{min-height:58px}.pf-bench-effect{padding:14px 0;border-left:0;border-top:1px solid var(--pf-line)}.pf-bench-ledger{padding:10px;gap:8px}.pf-bench-ledger span{font-size:10px}.pf-bench-ledger strong{font-size:19px}.pf-bench-transaction{padding-top:12px}.pf-bench-transaction ol{margin-block:10px}.pf-bench-controls{grid-template-columns:1fr 48px 1fr;gap:6px;margin-top:12px}.pf-bench-footnote a{display:block;margin:8px 0 0}}@media(prefers-reduced-motion:reduce){.pf-bench-field strong,.pf-bench-field>div:last-child,.pf-bench-transaction li,.pf-bench-wire,.pf-bench-wire:before{transition:none}}.pf-bench-node-state{display:block;margin-top:5px;font-size:11px;font-weight:600;color:var(--pf-ink);text-decoration:none}.pf-bench-transaction li[data-rollback=true]{text-decoration:none}.pf-bench-transaction li[data-rollback=true] .pf-bench-node-state{text-decoration:underline;text-underline-offset:3px}:root:not(.light) .pf-bench-explanation p:not(.pf-eyebrow),:root:not(.light) .pf-bench-heading>p{font-size:14px;color:var(--pf-ink)}:root:not(.light) .pf-bench-workspace-label{font-size:12px;font-weight:600}:root:not(.light) .pf-bench-rail-labels{font-size:11px;letter-spacing:.04em}:root:not(.light) .pf-bench-field code,:root:not(.light) .pf-bench-field strong{font-size:13px}:root:not(.light) .pf-bench-field strong{font-weight:600;color:var(--pf-ink)}:root:not(.light) .pf-bench-trace[data-mapped=false] .pf-bench-field>div:last-child strong{color:var(--pf-muted)}:root:not(.light) .pf-bench-ledger span{font-size:12px;min-height:36px}:root:not(.light) .pf-bench-ledger strong{font-weight:500;color:var(--pf-ink)}:root:not(.light) .pf-bench-contract summary,:root:not(.light) .pf-bench-controls button,:root:not(.light) .pf-bench-excluded,:root:not(.light) .pf-bench-stages button{font-size:13px}:root:not(.light) .pf-bench-stages button[aria-current=step]{font-weight:600}:root:not(.light) .pf-bench-transaction li{font-size:12px}:root:not(.light) .pf-bench-transaction li[data-active=true]{color:var(--pf-ink)}:root:not(.light) .pf-bench-transaction>p{font-size:13px;color:var(--pf-ink)}:root:not(.light) .pf-bench-footnote{font-size:12px}