/* Actual portfolio media, within the approved v13 composition. */
.reel-dots{flex-wrap:wrap;justify-content:center;max-width:520px;gap:2px}.reel-controls{align-items:center}.reel-dot{width:24px}
.final-frame{position:relative;display:grid;place-items:center;aspect-ratio:1.3;padding:24px;background:radial-gradient(ellipse at 60% 20%,color-mix(in srgb,var(--lime) 16%,var(--black)),var(--black));overflow:hidden;border-radius:9px}
.final-frame .final-browser{width:100%;border:1px solid color-mix(in srgb,var(--paper) 30%,transparent);border-radius:9px;overflow:hidden;background:var(--paper);box-shadow:0 16px 30px #0006;transform:perspective(800px) rotateY(-5deg) rotateX(3deg)}
.final-browser:before{content:"● ● ●";display:block;text-align:left;font:9px/20px Arial,sans-serif;letter-spacing:3px;padding:0 9px;color:var(--black);background:var(--paper)}
.gallery-item .final-browser img{aspect-ratio:1.5;border-radius:0;object-position:top}
.gallery-item .final-print{width:90%;object-fit:contain;aspect-ratio:1.6;border-radius:2px;box-shadow:10px 16px 0 #ffffff18;transform:rotate(-5deg)}
.final-frame.final-phone-frame{background:radial-gradient(ellipse at center,var(--lime),var(--black))}
.gallery-item .final-phone{height:100%;max-height:245px;width:auto;aspect-ratio:9/18;object-fit:cover;object-position:top;border:6px solid var(--black);border-radius:24px;box-shadow:10px 16px 25px #0007;transform:rotate(5deg)}
.gallery-item small{line-height:1.5;display:block}.final-note{font-size:.78rem;line-height:1.6;max-width:78ch;margin-top:22px}.final-proof{background:var(--paper)}
.gallery-item .final-proof img{object-fit:contain;aspect-ratio:auto;max-height:210px;border-radius:0}
.platform-phone.final-app-phone{overflow:hidden;padding:0}.platform-phone.final-app-phone img{width:100%;height:100%;object-fit:cover;object-position:top}.brand-study.final-brand-study{padding:0;overflow:hidden}.brand-study.final-brand-study img{height:100%;object-fit:cover}
.project-dialog img{object-fit:contain;max-height:70vh;width:100%;height:auto}
@media(max-width:700px){.final-frame{padding:18px}.gallery-item .final-phone{max-height:220px}.reel-dots{max-width:230px}.reel-dot{width:20px;min-width:20px}.final-note{font-size:.75rem}}
/* Focused portfolio tabs with compact, accessible paging. */
.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid>[hidden]{display:none!important}.portfolio-pagination{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:24px}.portfolio-pagination button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--paper)}.portfolio-pagination button:disabled{opacity:.3;cursor:default}.portfolio-pagination span{font-size:.85rem}.final-proof{background:linear-gradient(145deg,var(--paper),#c6c4bb)}.final-proof .final-browser{transform:perspective(900px) rotateY(-4deg) rotateX(4deg);box-shadow:8px 14px 0 #0a0a0a20}.proof-style-1{background:radial-gradient(ellipse at top,var(--lime),var(--black))}.proof-style-1 .final-browser{transform:rotate(3deg)}.proof-style-2{background:var(--black)}.proof-style-2 .final-browser{transform:perspective(800px) rotateY(5deg) rotateZ(-2deg)}.gallery-item .final-proof img{width:100%;max-height:250px;object-fit:contain}
@media(max-width:700px){.gallery-grid{grid-template-columns:1fr}.gallery-grid .final-frame{aspect-ratio:1.3}.portfolio-pagination{gap:16px}.filters button{font-size:.75rem}}

footer .footer-inner{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}.footer-brand{justify-self:start}.footer-brand p{margin:12px 0 0;font-size:.9rem;color:var(--paper);line-height:1.6}.footer-copyright{justify-self:center;text-align:center;font-size:.73rem;line-height:1.7;color:var(--quiet);margin:0;width:100%}@media(max-width:700px){footer .footer-inner{gap:26px}.footer-brand p{font-size:.85rem}.footer-copyright{font-size:.7rem;max-width:310px}}
