.portfolio-page{--ink:#fff;--ink-2:#d4d4d4;--ink-3:#a3a3a3;--ink-mute:#737373;--rule:hsla(0,0%,100%,.08);--rule-2:hsla(0,0%,100%,.14);--accent:#00dc82;--accent-hover:#22ef9a;--accent-under:rgba(0,220,130,.22);--serif:var(--font-source-serif),"Source Serif 4","Source Serif Pro",Georgia,"Times New Roman",serif;--mono:var(--font-jetbrains-mono),"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--max-read:720px;--max-grid:1180px}.portfolio-art{width:100%;margin:0 auto;padding:7rem 2rem 4rem;font-size:16px;line-height:1.6;font-weight:400;color:var(--ink-2);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;letter-spacing:0;max-width:var(--max-grid);animation:portfolio-rise .55s cubic-bezier(.22,1,.36,1) both}.portfolio-art *,.portfolio-art :after,.portfolio-art :before{box-sizing:border-box}@keyframes portfolio-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.portfolio-hero{max-width:720px;margin:0 auto 4rem;text-align:center;padding-top:1.5rem}.portfolio-eyebrow{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin:0 0 1.6rem;display:inline-block;padding-bottom:.4rem;border-bottom:1px solid var(--accent-under)}.portfolio-h1{font-size:clamp(2.25rem,6vw,4.25rem);font-weight:500;line-height:1.04;letter-spacing:-.022em;margin:0 0 1.75rem;text-wrap:pretty}.portfolio-h1,.portfolio-h1 em{font-family:var(--serif);color:var(--ink)}.portfolio-h1 em{font-style:italic}.portfolio-lede{font-size:1.05rem;line-height:1.65;color:var(--ink-2);max-width:var(--max-read);margin:0 auto;text-align:justify;text-justify:inter-word;hyphens:auto}.portfolio-stats{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:1rem;max-width:720px;margin:0 auto 4rem;padding:2rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);text-align:center}.portfolio-stat{display:flex;flex-direction:column;align-items:center;gap:.4rem}.portfolio-stat-number{font-family:var(--serif);font-size:clamp(2rem,4vw,2.75rem);font-weight:300;line-height:1;letter-spacing:-.02em;color:var(--ink)}.portfolio-stat-label{font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}.portfolio-intro{max-width:var(--max-read);margin:0 auto 5rem;display:flex;flex-direction:column;gap:1rem}.portfolio-intro p{font-size:1.02rem;line-height:1.7;text-align:justify;text-justify:inter-word;hyphens:auto;color:var(--ink-2);margin:0}.portfolio-intro a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--accent-under);transition:color .2s ease,text-decoration-color .2s ease}.portfolio-intro a:hover{color:var(--accent);text-decoration-color:var(--accent)}.portfolio-bucket{margin-bottom:4.5rem}.portfolio-bucket-header{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:2.5rem;align-items:start;padding:1.5rem 0;border-top:1px solid var(--rule-2);border-bottom:1px solid var(--rule);margin:0 0 2rem}.portfolio-bucket-title{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,1.875rem);font-weight:500;line-height:1.15;letter-spacing:-.012em;color:var(--ink);margin:0}.portfolio-bucket-note{font-family:var(--serif);font-style:italic;font-size:1rem;line-height:1.55;color:var(--ink-3);margin:0;max-width:60ch}.portfolio-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.portfolio-card{padding:1.25rem 1.25rem 1.4rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:.45rem;transition:background-color .2s ease}.portfolio-card:hover{background:hsla(0,0%,100%,.015)}.portfolio-card-name{font-family:var(--serif);font-size:1.2rem;font-weight:500;line-height:1.25;letter-spacing:-.008em;color:var(--ink);text-decoration:none;align-self:flex-start;border-bottom:1px solid transparent;padding-bottom:1px;transition:color .2s ease,border-color .2s ease}.portfolio-card-name:hover{color:var(--accent);border-bottom-color:var(--accent)}.portfolio-card-name:after{content:"↗";display:inline-block;margin-left:.4rem;color:var(--ink-mute);font-size:.85em;transition:color .2s ease,transform .2s ease}.portfolio-card-name:hover:after{color:var(--accent);transform:translate(1px,-1px)}.portfolio-card-desc{font-family:var(--serif);font-size:.95rem;line-height:1.5;color:var(--ink-3);margin:0}.portfolio-card-acquired{font-family:var(--mono);font-size:.62rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);margin-top:.2rem}.portfolio-card-acquired span{color:var(--accent)}.portfolio-method{max-width:var(--max-read);margin:4rem auto 0;padding:2rem 0;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:1rem}.portfolio-method-title{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,1.875rem);font-weight:500;line-height:1.15;letter-spacing:-.012em;color:var(--ink);margin:0 0 .5rem}.portfolio-method p{font-size:1.02rem;line-height:1.7;color:var(--ink-2);margin:0}.portfolio-method-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.portfolio-method-list li{font-size:1rem;line-height:1.6;color:var(--ink-2);padding-left:1.25rem;position:relative}.portfolio-method-list li:before{content:"›";position:absolute;left:0;color:var(--accent)}.portfolio-method a,.portfolio-method-list a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--accent-under);transition:color .2s ease,text-decoration-color .2s ease}.portfolio-method a:hover,.portfolio-method-list a:hover{color:var(--accent);text-decoration-color:var(--accent)}.portfolio-related{display:flex;justify-content:center;align-items:center;gap:.75rem;flex-wrap:wrap;margin:3rem auto 0;max-width:720px;padding:2rem 0 .25rem;font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}.portfolio-related a{color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--rule-2);padding-bottom:2px;transition:color .2s ease,border-color .2s ease}.portfolio-related a:hover{color:var(--ink);border-color:var(--accent)}.portfolio-closing{padding:1.5rem 0 1rem;margin:1.5rem auto 0;max-width:720px;border-top:1px solid var(--rule);text-align:center}.portfolio-closing p{font-family:var(--mono);font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin:0}.portfolio-closing a{color:var(--ink-2);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--accent-under);transition:color .2s ease,text-decoration-color .2s ease;letter-spacing:.02em}.portfolio-closing a:hover{color:var(--ink);text-decoration-color:var(--accent)}@media (max-width:900px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}.portfolio-bucket-header{grid-template-columns:1fr;gap:.75rem}}@media (max-width:600px){.portfolio-art{padding:8rem 1.25rem 3rem}.portfolio-hero,.portfolio-stats{margin-bottom:3rem}.portfolio-stats{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 0}.portfolio-intro{margin-bottom:3.5rem}.portfolio-bucket{margin-bottom:3rem}.portfolio-grid{grid-template-columns:1fr}.portfolio-card{padding:1rem .75rem 1.1rem}.portfolio-closing{padding:2rem 0 .5rem}}.portfolio-art .portfolio-credibility-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;margin:0 0 1.75rem}.portfolio-art .portfolio-credibility{display:inline-flex;align-items:center;gap:.55rem;margin:0;padding:.4rem .85rem .4rem .5rem;border:1px solid var(--rule-2);border-radius:999px;background:rgba(0,220,130,.05);font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.02em;color:var(--ink-2)}.portfolio-art .portfolio-credibility-mark{width:18px;height:18px;flex-shrink:0;color:var(--accent)}.portfolio-art .portfolio-credibility-text{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap;line-height:1.3}.portfolio-art .portfolio-credibility-text strong{color:var(--ink);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.portfolio-art .portfolio-credibility-sep{color:var(--ink-mute)}.portfolio-art .portfolio-credibility-suffix{color:var(--ink-mute);font-weight:500;text-transform:uppercase;letter-spacing:.05em}@media (max-width:600px){.portfolio-art .portfolio-credibility{font-size:.66rem;padding:.35rem .7rem .35rem .45rem}.portfolio-art .portfolio-credibility-mark{width:16px;height:16px}}