.portfolio-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:65px}.portfolio-heading h2{font:400 clamp(40px,5vw,70px)/1.1 Georgia,serif;letter-spacing:-2px;margin:25px 0 0}.portfolio-heading>p{font-size:11px;color:var(--muted);margin:0;line-height:1.9}.portfolio-section{border-top:1px solid var(--line);margin-top:70px}.visual-gallery{display:grid;grid-template-columns:1fr 1fr;gap:65px 50px}.portfolio-figure{margin:0;min-width:0}.artwork-open{padding:0;display:block;width:100%;overflow:hidden;text-align:left}.artwork-open img{width:100%;aspect-ratio:1;object-fit:contain;transition:transform .75s cubic-bezier(.22,.61,.36,1);display:block}.artwork-open:hover img{transform:scale(1.025)}.portfolio-caption{display:flex;justify-content:space-between;align-items:start;gap:20px;padding-top:19px}.portfolio-caption h3{font:400 26px/1.3 Georgia,serif;margin:0}.portfolio-caption p{font-size:9px;color:var(--muted);margin:7px 0 0}.portfolio-caption>a{font-size:10px;color:var(--accent);border-bottom:1px solid #c7b69266;padding-bottom:5px;margin-top:4px;white-space:nowrap}.character-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:65px 40px}.character-gallery .artwork-open img{height:360px;aspect-ratio:auto}.character-gallery .portfolio-caption{border-top:1px solid var(--line)}.character-gallery .portfolio-caption h3{font-size:25px}.character-gallery .portfolio-caption>a{font-size:9px}.portfolio-status{font-size:10px;line-height:1.9;color:var(--muted);min-height:20px}.animation-section{border-top:1px solid var(--line);margin-top:70px}.animation-layout{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.5fr);gap:9%;align-items:center}.animation-sidebar h3{font:400 50px/1.1 Georgia,serif;letter-spacing:-1px;margin:20px 0 16px}.animation-sidebar>a{font-size:10px;color:var(--accent);border-bottom:1px solid #c7b69255;padding-bottom:5px}#animation-projects{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;font-size:11px}#animation-projects button{opacity:.4;padding:7px 0;border-bottom:1px solid transparent}#animation-projects button[aria-pressed=true]{opacity:1;border-color:var(--accent)}.animation-fields{display:grid;grid-template-columns:1fr;gap:9px;margin-top:40px}.animation-fields label{font-size:9px;color:var(--muted);letter-spacing:1px}.animation-fields select,.animation-controls select{appearance:auto;border:0;border-bottom:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:0;padding:10px 0;font-size:12px;width:100%;cursor:pointer;color-scheme:dark}.animation-fields select+label{margin-top:13px}.animation-controls{display:flex;gap:22px;align-items:center;margin-top:28px;font-size:11px}.animation-controls select{width:55px}.animation-controls button{padding:8px 0;min-width:20px}#animation-play{color:var(--accent);min-width:75px;text-align:left}.animation-loop{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);margin-top:22px}.animation-loop input{accent-color:var(--accent)}.animation-stage{position:relative;height:620px;min-width:0}.animation-stage>img{position:absolute;inset:5%;width:90%;height:90%;object-fit:contain;transition:opacity .5s;pointer-events:none}.animation-stage.ready>img{opacity:0}#spine-stage{width:100%;height:100%}#spine-stage canvas{border-radius:0}#spine-stage .spine-player{background:transparent}.animation-sidebar .portfolio-status{margin-top:25px}#art-dialog{border:0;padding:65px 45px 35px;background:var(--bg);color:var(--ink);width:min(1400px,96vw);max-height:96dvh;overflow:auto}#art-dialog::backdrop{background:#080806ee;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:30px;top:20px;font-size:11px;color:var(--muted);padding:8px}.dialog-image{display:grid;grid-template-columns:35px minmax(0,1fr) 35px;gap:20px;align-items:center}.dialog-image img{max-height:72dvh;width:100%;object-fit:contain}.dialog-image button{font-size:25px;padding:10px 0}.dialog-caption{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:24px 55px 0}.dialog-caption h2{font:400 30px/1.2 Georgia,serif;margin:0}.dialog-caption p{font-size:10px;color:var(--muted);margin:9px 0 0}.dialog-caption a{font-size:11px;color:var(--accent);border-bottom:1px solid var(--accent);padding:8px 0}@media(max-width:1100px){.brand span{display:none}.header nav{gap:23px}.character-gallery{gap:45px 24px}.character-gallery .artwork-open img{height:290px}.portfolio-caption{flex-wrap:wrap;gap:8px}.animation-layout{gap:6%}.animation-stage{height:560px}}@media(max-width:650px){.header{height:auto;min-height:100px;padding-top:22px;flex-wrap:wrap;gap:16px;align-content:start}.header nav{width:100%;gap:23px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;padding-bottom:10px;font-size:10px}.header nav::-webkit-scrollbar{display:none}.header nav a{flex-shrink:0;padding:0}.portfolio-section,.animation-section{margin-top:40px}.portfolio-heading{display:block;margin-bottom:32px}.portfolio-heading h2{font-size:45px;margin-top:21px}.portfolio-heading>p{font-size:10px;margin-top:22px}.visual-gallery{grid-template-columns:1fr;gap:40px}.portfolio-caption h3{font-size:25px}.character-gallery{grid-template-columns:1fr 1fr;gap:35px 18px}.character-gallery .artwork-open img{height:235px}.character-gallery .portfolio-caption h3{font-size:22px}.character-gallery .portfolio-caption>a{font-size:9px}.animation-layout{grid-template-columns:1fr;gap:25px}.animation-stage{height:360px;grid-row:1}.animation-sidebar h3{font-size:39px}.animation-fields{margin-top:25px;grid-template-columns:1fr 1fr;column-gap:22px}.animation-fields label[for="animation-select"]{grid-area:1/1}.animation-fields #animation-select{grid-area:2/1}.animation-fields label[for="skin-select"]{grid-area:1/2;margin-top:0}.animation-fields #skin-select{grid-area:2/2}.animation-sidebar{max-width:100%}.animation-controls{margin-top:20px}.animation-sidebar .portfolio-status{margin-top:16px}#art-dialog{padding:65px 12px 25px;width:100vw;max-width:100vw;max-height:100dvh}.dialog-image{grid-template-columns:22px minmax(0,1fr) 22px;gap:8px}.dialog-image img{max-height:68dvh}.dialog-caption{padding:25px 10px 0;flex-wrap:wrap;gap:15px}.dialog-caption h2{font-size:27px}.dialog-close{right:16px}.portfolio-caption p{font-size:9px}}@media(prefers-reduced-motion:reduce){.artwork-open img,.animation-stage>img{transition:none}}
