.vertical-portfolio-section{background:#fff;padding:60px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative}.vertical-portfolio-container{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,auto);grid-gap:32px;gap:32px;width:90%;max-width:1200px;margin:0 auto;flex-wrap:wrap}.vertical-portfolio-item{position:relative;cursor:pointer;transition:transform .3s}.vertical-portfolio-img-wrapper{overflow:hidden;height:400px;position:relative;border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.08)}.vertical-portfolio-img{width:100%;height:auto;display:block;transition:transform 5s ease-in-out}.vertical-portfolio-img-wrapper:hover .vertical-portfolio-img{transform:translateY(-20px)}.vertical-portfolio-hover{position:absolute;bottom:0;left:0;right:0;background:rgba(255,184,43,.92);color:#fff;font-weight:700;font-size:1.2rem;padding:16px;opacity:0;transition:opacity .3s;border-radius:0 0 16px 16px;text-align:center}.vertical-portfolio-img-wrapper:hover .vertical-portfolio-hover{opacity:1}@media (max-width:600px){.vertical-portfolio-container{width:100vw;max-width:98vw;gap:20px}}@media (max-width:1024px){.vertical-portfolio-container{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.vertical-portfolio-container{grid-template-columns:1fr}}.vertical-portfolio-section{overflow-y:auto;max-height:90vh}.portfolio-tabs{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:8px;margin-bottom:32px;margin-top:0;flex-wrap:wrap;width:auto;max-width:100vw;position:static;background:transparent;padding-top:0}.portfolio-tab{background:#f2f2f2;color:#333;border:none;padding:8px 18px;border-radius:16px 16px 0 0;font-weight:500;cursor:pointer;transition:background .3s,color .3s;margin-bottom:-2px;box-shadow:0 2px 8px rgba(0,0,0,.04);font-size:1rem}.portfolio-tab:hover{background:#ffb82b;color:#fff}.portfolio-tab.active{background:#000;color:#fff;border-bottom:2px solid #ffb82b;z-index:2}@media (max-width:1024px){.portfolio-tabs{gap:6px;padding:0 4px;flex-wrap:wrap;font-size:.95rem}.portfolio-tab{padding:6px 12px;font-size:.95rem}}@media (max-width:600px){.portfolio-tabs{gap:4px;padding:0 2px;font-size:.9rem;flex-wrap:wrap}.portfolio-tab{padding:4px 8px;font-size:.9rem}}