/* A room around the original workbench, not a new visual identity. */
.portfolio .hero{position:relative;isolation:isolate;padding-block:58px 40px;gap:28px}.portfolio .hero:before{content:'';position:absolute;inset:24px -20px 0 43%;z-index:-1;background:linear-gradient(145deg,#e3e8d960,#d6dfcd90);border-radius:52% 42% 8% 16%;border:1px solid #cdd5c460;box-shadow:inset 0 0 90px #fffcf4a0}.scene{position:relative;perspective:1200px}.scene-invitation{font-family:var(--serif);font-style:italic;font-size:.85rem;letter-spacing:-.02em;margin:0 20px 8px;color:var(--muted)}.scene-canvas{position:relative;isolation:isolate}.scene-canvas:before{content:'';position:absolute;left:16%;right:9%;bottom:8%;height:17%;z-index:-1;border-radius:50%;background:#203c351a;filter:blur(16px);transform:rotate(-10deg)}.scene-canvas img{filter:drop-shadow(0 14px 12px #203c3514);transition:filter .3s,transform .3s}.scene-pin{position:absolute;display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid var(--ink);background:var(--paper);color:var(--ink);font-size:.65rem;font-weight:650;box-shadow:0 0 0 5px #f6f3ea60,0 6px 14px #203c3526;transition:background .2s,transform .2s}.has-js .scene-pin{display:flex}.pin-phone{left:29%;top:60%}.pin-systems{left:65%;top:42%}.pin-notes{left:77%;top:73%}.scene-pin:hover,.scene-pin[aria-pressed=true]{background:var(--ink);color:var(--white);transform:translateY(-3px)}.scene[data-active=phone] .pin-phone,.scene[data-active=systems] .pin-systems,.scene[data-active=notes] .pin-notes{box-shadow:0 0 0 8px #a33e2529,0 7px 16px #203c3533}.scene:has(.scene-pin:focus-visible) .scene-canvas img{filter:drop-shadow(0 18px 13px #203c3530)}.place-index{display:flex;gap:12px 28px;align-items:center;flex-wrap:wrap;padding-block:20px 4px}.place-index span{font-size:.6rem;letter-spacing:.12em;color:var(--muted);margin-right:auto}.place-index a{font-size:.72rem;min-height:44px;display:flex;align-items:center;text-decoration:none;border-bottom:1px solid transparent}.place-index a:hover{border-bottom-color:var(--rust)}.portfolio .project{transition:box-shadow .25s,transform .25s}.portfolio .project:hover{box-shadow:0 12px 32px #203c3510;transform:translateY(-3px)}.portfolio .about{position:relative;box-shadow:12px 12px 0 #dfe3d480}.portfolio .journal-teaser{border-top:3px double var(--line)}.post-body{overflow-wrap:anywhere}.post-body pre{max-width:100%;overflow:auto;white-space:pre;padding:20px;background:var(--green);font-size:.82rem;line-height:1.7}.post-body table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:.85rem}.post-body td,.post-body th{padding:10px;border:1px solid var(--line)}.post-body img{height:auto;max-width:100%}.post-body blockquote{border-left:2px solid var(--rust);margin-inline:0;padding-left:24px;color:var(--muted)}.contents ol{max-height:60vh;overflow:auto}.archive-end{gap:20px;flex-wrap:wrap}.article-heading time{display:block}.scene figcaption{position:relative}
@media(min-width:1000px){.portfolio .hero{min-height:710px}.portfolio .scene{margin-right:-10px}.portfolio .hero:after{content:'';position:absolute;inset:66% -20px 0 43%;z-index:-1;background:repeating-linear-gradient(0deg,transparent,transparent 29px,#203c3506 30px),repeating-linear-gradient(90deg,transparent,transparent 29px,#203c3506 30px);transform:skewY(-9deg);border-radius:0 0 15% 15%;mask-image:linear-gradient(transparent,#000)}}
@media(max-width:767px){.portfolio .hero{padding-block:40px 24px;gap:30px}.portfolio .hero:before{inset:49% -10px 0;border-radius:40% 38% 5% 5%}.scene-invitation{font-size:.8rem;margin-inline:0;max-width:290px}.scene-pin{width:44px;height:44px}.place-index{gap:0;display:grid;grid-template-columns:1fr;padding-top:20px}.place-index span{margin-bottom:6px}.place-index a{border-bottom:1px solid var(--line);width:100%;justify-content:space-between}.place-index a:after{content:'↓';color:var(--rust)}.portfolio .about{box-shadow:6px 6px 0 #dfe3d480}.contents ol{max-height:none}.portfolio .scene{margin-inline:0}}
pre:focus-visible,table:focus-visible{outline:3px solid var(--rust);outline-offset:4px}.legacy-sections{border-top:1px solid var(--line);padding-top:32px;margin-top:40px}.legacy-sections h2{font-size:1.8rem}.legacy-sections h3{font-size:1.1rem;margin-top:24px}.legacy-sections .cta{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}
@media(min-width:768px) and (max-width:999px){.portfolio .hero:before{inset:42% -10px 0;border-radius:40% 38% 5% 5%}}
@media(prefers-reduced-motion:reduce){.scene-canvas img,.scene-pin,.portfolio .project{transition:none}.portfolio .project:hover,.scene-pin:hover,.scene-pin[aria-pressed=true]{transform:none}}

.pagination{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:space-between;padding:2rem 0;border-top:1px solid var(--line,#d2d2c1)}
