.portfolio-view,.portfolio-index{--pf-heading: #f6f2ff;--pf-text: #b7b2c6;--pf-strong: #ece7f8;--pf-accent: #c6a6f6;--pf-line: rgba(255, 255, 255, .1);--pf-chip: rgba(139, 92, 246, .16)}.portfolio-view{display:flex;flex-direction:column;gap:clamp(14px,2.2vh,26px);min-height:calc(100dvh - 110px);padding:24px clamp(20px,3vw,40px) 26px}.portfolio-intro{flex:0 0 auto}body .portfolio-view h1{margin:0 0 10px;color:var(--pf-heading);font-family:"Instrument Serif",Iowan Old Style,Georgia,serif;font-size:clamp(30px,3.1vw,46px);font-weight:400;letter-spacing:-.015em;line-height:1.06}.portfolio-mark{display:inline-block;color:var(--pf-accent);font-size:.44em;vertical-align:.5em}.portfolio-hint{display:flex;align-items:center;gap:8px;margin:0;color:var(--pf-text);font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.62}.portfolio-hint:before{content:"";width:22px;height:1px;background:currentColor;opacity:.5}.portfolio-panels{display:flex;flex:1 1 auto;gap:10px;min-height:0}.portfolio-panel{position:relative;flex:1 1 0;min-width:0;overflow:hidden;border:1px solid var(--pf-line);border-radius:20px;background:#0d0918;color:inherit;text-decoration:none;transition:flex-grow .56s cubic-bezier(.22,1,.36,1),border-color .3s ease}.portfolio-panel img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:.3;filter:saturate(.92);transition:opacity .5s ease,scale .7s cubic-bezier(.22,1,.36,1)}.portfolio-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#08051099,#080510e0 46%,#080510fa)}.portfolio-panel-index{position:absolute;top:16px;left:18px;z-index:1;color:var(--pf-accent);font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,monospace;font-size:11px;letter-spacing:.14em}.portfolio-panel-spine{position:absolute;bottom:20px;left:50%;z-index:1;translate:-50% 0;writing-mode:vertical-rl;rotate:180deg;color:var(--pf-strong);font-family:var(--font-heading, "Jura", sans-serif);font-size:14px;letter-spacing:.04em;white-space:nowrap;transition:opacity .26s ease}.portfolio-panel-body{position:absolute;inset:auto 0 0 0;z-index:1;display:grid;gap:10px;width:max(100%,320px);padding:22px clamp(18px,1.8vw,28px) 24px;opacity:0;translate:0 12px;transition:opacity .32s ease,translate .42s cubic-bezier(.22,1,.36,1)}.portfolio-panel-title{color:var(--pf-heading);font-family:"Instrument Serif",Iowan Old Style,Georgia,serif;font-size:clamp(22px,1.9vw,30px);line-height:1.1}.portfolio-panel-copy{max-width:44ch;color:var(--pf-text);font-size:14.5px;line-height:1.66}.portfolio-panel-tags{display:flex;flex-wrap:wrap;gap:6px}.portfolio-panel-tags span{padding:3px 10px 4px;border-radius:999px;background:var(--pf-chip);color:var(--pf-accent);font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase}.portfolio-panel-cta{display:inline-flex;align-items:center;gap:8px;color:var(--pf-strong);font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}.portfolio-panel-cta svg{width:15px;height:15px;transition:translate .24s ease}.portfolio-panel.is-open{flex-grow:3.6}.portfolio-panels:hover .portfolio-panel.is-open{flex-grow:1}.portfolio-panels .portfolio-panel:is(:hover,:focus-within){flex-grow:3.6}.portfolio-panel.is-open .portfolio-panel-spine{opacity:0}.portfolio-panels:hover .portfolio-panel.is-open .portfolio-panel-spine{opacity:1}.portfolio-panels .portfolio-panel:is(:hover,:focus-within) .portfolio-panel-spine{opacity:0}.portfolio-panel.is-open .portfolio-panel-body{opacity:1;translate:0 0}.portfolio-panels:hover .portfolio-panel.is-open .portfolio-panel-body{opacity:0;translate:0 12px}.portfolio-panels .portfolio-panel:is(:hover,:focus-within) .portfolio-panel-body{opacity:1;translate:0 0}.portfolio-panel.is-open img{opacity:.45}.portfolio-panels:hover .portfolio-panel.is-open img{opacity:.3}.portfolio-panels .portfolio-panel:is(:hover,:focus-within) img{opacity:.45;scale:1.04}.portfolio-panels .portfolio-panel:is(:hover,:focus-within){border-color:#c6a6f657}.portfolio-panels .portfolio-panel:is(:hover,:focus-within) .portfolio-panel-cta svg{translate:4px 0}.portfolio-panel:focus-visible{outline:2px solid var(--pf-accent);outline-offset:3px}.portfolio-index{display:flex;flex-direction:column;justify-content:center;gap:clamp(20px,3vh,38px);min-height:calc(100dvh - 110px);padding:24px clamp(20px,3vw,40px) 40px}.portfolio-index-head{display:grid;gap:10px}body .portfolio-index .portfolio-index-title{margin:0;color:var(--pf-heading);font-family:"Instrument Serif",Iowan Old Style,Georgia,serif;font-size:clamp(26px,2.6vw,40px);font-weight:400;letter-spacing:-.015em;line-height:1.1}.portfolio-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(16px,2vw,34px);padding-top:22px;border-top:1px solid var(--pf-line)}.portfolio-column ul{margin:13px 0 0;padding:0;list-style:none;display:grid;gap:7px}.portfolio-column-title{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;min-height:2.9em;padding-bottom:9px;border-bottom:1px solid var(--pf-line);color:var(--pf-strong);font-family:var(--font-heading, "Jura", sans-serif);font-size:14px;letter-spacing:.01em;text-decoration:none}.portfolio-column-title:hover{color:var(--pf-accent);border-color:var(--pf-accent)}.portfolio-column-count{color:var(--pf-accent);font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,monospace;font-size:10px;letter-spacing:.1em;opacity:.8}.portfolio-column li a{display:inline-block;color:var(--pf-text);font-size:13.5px;line-height:1.5;text-decoration:none;transition:color .18s ease,translate .18s ease}.portfolio-column li a:hover,.portfolio-column li a:focus-visible{color:var(--pf-heading);translate:3px 0}.portfolio-index-cta{display:inline-flex;align-items:center;align-self:flex-start;gap:9px;padding:9px 18px 10px;border:1px solid var(--pf-line);border-radius:999px;color:var(--pf-strong);font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:border-color .2s ease,color .2s ease}.portfolio-index-cta svg{width:15px;height:15px}.portfolio-index-cta:hover{border-color:var(--pf-accent);color:var(--pf-heading)}.portfolio-panels{--pf-heading: #f6f2ff;--pf-text: #b7b2c6;--pf-strong: #ece7f8;--pf-accent: #c6a6f6;--pf-line: rgba(255, 255, 255, .1);--pf-chip: rgba(139, 92, 246, .16)}body.light-mode :is(.portfolio-view,.portfolio-index){--pf-heading: #171456;--pf-text: #4a4660;--pf-strong: #171456;--pf-accent: #4f46e5;--pf-line: rgba(23, 20, 86, .14);--pf-chip: rgba(99, 102, 241, .14)}@media (max-width: 1024px){.portfolio-view,.portfolio-index{min-height:0;padding:20px 18px 34px}.portfolio-panels{flex-direction:column;gap:12px}.portfolio-panel{flex:0 0 auto;min-height:0}.portfolio-panel-spine{display:none}.portfolio-panel-body,.portfolio-panels:hover .portfolio-panel.is-open .portfolio-panel-body{position:relative;inset:auto;width:auto;padding:46px 20px 22px;opacity:1;translate:0 0}.portfolio-panel img,.portfolio-panels:hover .portfolio-panel.is-open img{opacity:.42}.portfolio-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}@media (max-width: 560px){.portfolio-columns{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.portfolio-panel,.portfolio-panel img,.portfolio-panel-body,.portfolio-panel-spine,.portfolio-panel-cta svg,.portfolio-column li a{transition:none}}@supports (view-transition-name: none){.reco-intro,.reco-entry,.about-story h1,.about-story-hint,.about-passage,.about-story-ending{animation:none}}
