.portfolio-page{background-color:var(--bg-cream);min-height:100vh}.category-tabs{margin-bottom:3rem}.category-tabs button{font-size:1rem;letter-spacing:.1em;position:relative}.category-tabs button,.category-tabs button:after{-webkit-transition:all .3s ease;transition:all .3s ease}.category-tabs button:after{content:"";position:absolute;width:0;height:1px;bottom:-1px;left:50%;background-color:var(--text-primary);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.category-tabs button:hover:after{width:70%}.category-tabs button.active{font-weight:500}.category-tabs button.active:after{width:100%;height:2px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.5rem}.gallery-grid>div{background-color:white;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.05);box-shadow:0 1px 3px rgba(0,0,0,.05);-webkit-transition:-webkit-transform .3s ease,-webkit-box-shadow .3s ease;transition:-webkit-transform .3s ease,-webkit-box-shadow .3s ease;transition:transform .3s ease,box-shadow .3s ease;transition:transform .3s ease,box-shadow .3s ease,-webkit-transform .3s ease,-webkit-box-shadow .3s ease;overflow:hidden;height:100%;border-radius:2px}.gallery-grid .aspect-\[3\/4\]{position:relative;width:100%;height:0;padding-bottom:133.33%;overflow:hidden}.gallery-grid .aspect-\[3\/4\]>div{position:absolute;top:0;left:0;width:100%;height:100%}.gallery-grid img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease}.gallery-grid>div:hover{-webkit-transform:translateY(-5px);transform:translateY(-5px);-webkit-box-shadow:0 5px 15px rgba(0,0,0,.1);box-shadow:0 5px 15px rgba(0,0,0,.1)}.gallery-grid>div:hover img{-webkit-transform:scale(1.05);transform:scale(1.05)}.portfolio-page .guide-section,.portfolio-page .mt-16{margin-top:4rem;padding:2rem;background-color:var(--bg-cream-darker,#f2f0ed);border-radius:.5rem}.guide-section h2,.mt-16 h2{font-weight:300;margin-bottom:1rem}.guide-section code,.mt-16 code{background-color:rgba(0,0,0,.05);padding:.2rem .4rem;border-radius:.25rem;font-size:.9rem}.gallery-grid img{opacity:0;-webkit-animation:fadeIn .5s ease forwards;animation:fadeIn .5s ease forwards}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.gallery-grid>div:first-child img{-webkit-animation-delay:.1s;animation-delay:.1s}.gallery-grid>div:nth-child(2) img{-webkit-animation-delay:.2s;animation-delay:.2s}.gallery-grid>div:nth-child(3) img{-webkit-animation-delay:.3s;animation-delay:.3s}.gallery-grid>div:nth-child(4) img{-webkit-animation-delay:.4s;animation-delay:.4s}.gallery-grid>div:nth-child(5) img{-webkit-animation-delay:.5s;animation-delay:.5s}.gallery-grid>div:nth-child(6) img{-webkit-animation-delay:.6s;animation-delay:.6s}.gallery-grid>div:nth-child(7) img{-webkit-animation-delay:.7s;animation-delay:.7s}.gallery-grid>div:nth-child(8) img{-webkit-animation-delay:.8s;animation-delay:.8s}.gallery-grid>div:nth-child(9) img{-webkit-animation-delay:.9s;animation-delay:.9s}@media (max-width:1200px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width:768px){.category-tabs button{padding-left:1rem;padding-right:1rem;font-size:.9rem}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:1rem}}@media (max-width:480px){.category-tabs button{padding-left:.75rem;padding-right:.75rem;font-size:.8rem}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-gap:.75rem}}