.portfolio-hero{background:linear-gradient(to bottom,#000814b3,#000814f2),url(/build/assets/homepage-desktop-B9pxNVV_.jpg);background-size:cover;background-position:center;min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;margin-bottom:4rem}.hero-content{max-width:800px;padding:2rem}.portfolio-title{font-size:clamp(2.5rem,5vw,4.5rem);margin-bottom:1.5rem;font-weight:700;line-height:1.2}.hero-description{font-size:clamp(1rem,2vw,1.25rem);color:var(--secondary-text-color);margin-bottom:2rem;line-height:1.6}.portfolio-category{margin-bottom:6rem;padding-inline:2rem}@media screen and (min-width: 80em){.portfolio-category{padding-inline:8.5rem}}.category-header{text-align:center;margin-bottom:3rem}.category-divider{width:100px;height:3px;background:linear-gradient(to right,transparent,var(--accent-color),transparent);margin:2rem auto}.masonry-grid{column-count:1;column-gap:1.5rem;margin:0 auto;max-width:var(--masonry-max-width, 100%)}@media screen and (min-width: 640px){.masonry-grid{column-count:2;column-gap:1.5rem}}@media screen and (min-width: 1024px){.masonry-grid{column-count:3;column-gap:2rem}}@media screen and (min-width: 1440px){.masonry-grid{column-count:4;column-gap:2rem}}.masonry-item{break-inside:avoid;margin-bottom:1.5rem;opacity:1;animation:fadeInUp .6s ease forwards}@media screen and (min-width: 1024px){.masonry-item{margin-bottom:2rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.masonry-item.visible{opacity:1;transform:translateY(0)}.media-wrapper{position:relative;overflow:hidden;border-radius:12px;cursor:pointer;background:#ffffff08;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px #0000001a;width:100%;display:block;line-height:0}.media-wrapper:hover{transform:translateY(-8px);box-shadow:0 20px 40px #94006a4d}.media-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,transparent 50%,rgba(0,0,0,.8) 100%);opacity:0;transition:opacity .3s ease;z-index:1;pointer-events:none}.media-wrapper:hover:before{opacity:1}.media-thumbnail{width:100%;height:auto;display:block;transition:transform .4s cubic-bezier(.4,0,.2,1)}.media-wrapper:hover .media-thumbnail{transform:scale(1.08)}.media-title{position:absolute;bottom:0;left:0;right:0;padding:1.5rem 1rem;color:var(--text-color);font-size:.95rem;font-weight:500;z-index:2;transform:translateY(100%);transition:transform .3s ease;text-align:center}.media-wrapper:hover .media-title{transform:translateY(0)}.play-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;background:#94006ae6;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.media-wrapper:hover .play-overlay{transform:translate(-50%,-50%) scale(1.15);background:#94006a;box-shadow:0 0 30px #94006a99}.play-icon{width:30px;height:30px;color:#fff;margin-left:4px}.modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:flex;align-items:center;justify-content:center;animation:modalFadeIn .3s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-content{position:relative;max-width:95vw;max-height:95vh;z-index:10000;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.modal-close{position:fixed;top:2rem;right:2rem;width:45px;height:45px;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:10002}.modal-close:hover{background:var(--accent-color);border-color:var(--accent-color);transform:rotate(90deg)}.modal-close svg{width:24px;height:24px}.modal-nav{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:auto;padding:0 1rem;z-index:10001}.modal-prev,.modal-next{width:50px;height:50px;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;pointer-events:all;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-prev:hover,.modal-next:hover{background:var(--accent-color);border-color:var(--accent-color);transform:scale(1.1)}.modal-prev svg,.modal-next svg{width:28px;height:28px}.modal-media-container{max-width:90vw;max-height:80vh;display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden;box-shadow:0 25px 50px #00000080}.modal-image,.modal-video{max-width:100%;max-height:80vh;object-fit:contain;border-radius:12px}.modal-title{color:var(--text-color);font-size:1.5rem;font-weight:600;text-align:center;padding:0 2rem;max-width:800px}.empty-state{text-align:center;padding:4rem 2rem;color:var(--secondary-text-color);font-size:1.25rem}@media screen and (max-width: 768px){.portfolio-hero{min-height:50vh}.category-header h2{font-size:2rem}.modal-nav{padding:0 .5rem}.modal-prev,.modal-next{width:40px;height:40px}.modal-prev svg,.modal-next svg{width:20px;height:20px}.modal-close{top:-40px;width:40px;height:40px}.modal-title{font-size:1.125rem}}.lazy{opacity:0;transition:opacity .3s ease}.lazy.loaded{opacity:1}.modal-close:focus,.modal-prev:focus,.modal-next:focus{outline:2px solid var(--accent-color);outline-offset:2px}.media-wrapper:focus-visible{outline:2px solid var(--accent-color);outline-offset:4px}
