.portfolio-container{margin:0 auto;max-width:var(--container-max);padding:100px var(--page-padding) 160px;position:relative;z-index:10}.portfolio-banner{padding:240px var(--content-padding) 80px;position:relative;text-align:left;z-index:10}.hero-label{color:var(--brand-tertiary);display:block;font-size:.75rem;font-weight:800;letter-spacing:.15em;margin-bottom:24px;text-transform:uppercase}.portfolio-banner h1{color:#fff;font-size:clamp(4rem,8vw,110px);font-weight:800;letter-spacing:-.02em;line-height:1.05;margin-bottom:32px}.portfolio-banner p{color:#ffffff80;font-size:1.15rem;line-height:1.6;max-width:550px}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;margin-bottom:60px}.filter-btn{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:100px;color:#fff9;cursor:pointer;font-size:.9rem;font-weight:600;padding:12px 24px;text-align:center;transition:.4s cubic-bezier(.16,1,.3,1)}.filter-btn.active,.filter-btn:hover{background:#fff;border-color:#fff;color:var(--brand-dark);transform:translateY(-2px)}@media (width<=768px){.filter-bar{gap:8px;margin-bottom:40px}.filter-btn{border-radius:12px;flex:1;font-size:.85rem;padding:14px 10px}}.portfolio-grid{display:grid;gap:40px;grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}.portfolio-grid-secondary{display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:60px}@media (width<=1400px){.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(450px,1fr))}}@media (width<=768px){.portfolio-grid,.portfolio-grid-secondary{gap:24px;grid-template-columns:1fr}.portfolio-container{padding:60px var(--page-padding) 100px}}.video-card{aspect-ratio:16/9;background:#111;border-radius:24px;cursor:pointer;overflow:hidden;position:relative;transition:transform .6s cubic-bezier(.16,1,.3,1)}.video-card.is-vertical{aspect-ratio:9/16}.video-card:hover{transform:translateY(-8px) scale(1.02)}.video-thumb{height:100%;-o-object-fit:cover;object-fit:cover;opacity:.7;transition:opacity .6s;width:100%}.video-card:hover .video-thumb{opacity:.9}.video-overlay{background:linear-gradient(#0000 40%,#000c);display:flex;flex-direction:column;inset:0;justify-content:space-between;padding:30px;position:absolute;z-index:2}.video-play-icon{align-items:center;align-self:center;background:var(--brand-secondary);border-radius:50%;display:flex;height:64px;justify-content:center;margin-bottom:auto;margin-top:auto;opacity:0;transform:scale(.8);transition:.6s cubic-bezier(.16,1,.3,1);width:64px}.video-play-icon svg{fill:#fff;height:24px;margin-left:4px;width:24px}.video-card:hover .video-play-icon{opacity:1;transform:scale(1)}.watch-yt-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:100px;color:#fff;display:flex;font-size:.8rem;font-weight:700;gap:8px;letter-spacing:.1em;margin-left:auto;padding:10px 18px;text-transform:uppercase;transition:.3s;width:fit-content}.video-card:hover .watch-yt-btn{background:red;border-color:red}.video-info h3{color:#fff;font-size:1.5rem;margin-bottom:4px}.video-info p{color:#fff9;font-size:.9rem}.project-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:32px;overflow:hidden;position:relative;transition:.6s cubic-bezier(.16,1,.3,1)}.project-card:hover{background:#ffffff0f;border-color:#fff3;transform:translateY(-12px)}.project-img-wrap{aspect-ratio:4/3;overflow:hidden;position:relative;width:100%}.project-img{height:100%;-o-object-fit:cover;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1);width:100%}.project-card:hover .project-img{transform:scale(1.1)}.project-content{padding:30px}.project-content h3{color:#fff;font-size:1.75rem;margin-bottom:12px}.project-content p{color:#fff9;font-size:1.05rem;line-height:1.5}.project-link{align-items:center;color:var(--brand-tertiary);display:inline-flex;font-size:.9rem;font-weight:700;gap:8px;letter-spacing:.1em;margin-top:24px;text-transform:uppercase}.project-link svg{height:18px;transition:transform .3s;width:18px}.project-card:hover .project-link svg{transform:translate(4px)}.tab-content{position:relative;width:100%}.tab-pane{display:none;opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s cubic-bezier(.16,1,.3,1)}.tab-pane.active{display:block;opacity:1;transform:translateY(0)}.video-modal{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#000000f2;display:flex;inset:0;justify-content:center;opacity:0;padding:20px;pointer-events:none;position:fixed;transition:opacity .5s cubic-bezier(.16,1,.3,1);z-index:9999}.video-modal.active{opacity:1;pointer-events:auto}.video-modal-content{aspect-ratio:16/9;background:#000;border-radius:20px;box-shadow:0 40px 100px #00000080;max-width:1200px;overflow:hidden;position:relative;transform:scale(.95);transition:transform .6s cubic-bezier(.16,1,.3,1);width:100%}.video-modal.active .video-modal-content{transform:scale(1)}.video-modal-iframe{border:none;height:100%;width:100%}.video-modal-close{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;cursor:pointer;display:flex;height:60px;justify-content:center;position:absolute;right:40px;top:40px;transition:.3s;width:60px;z-index:10000}.video-modal-close:hover{background:#fff;transform:rotate(90deg)}.video-modal-close svg{height:24px;stroke:#fff;width:24px}.video-modal-close:hover svg{stroke:#000}.photo-grid{-moz-column-count:4;column-count:4;-moz-column-gap:30px;column-gap:30px;margin-top:40px}.photo-card{cursor:zoom-in;-moz-column-break-inside:avoid;aspect-ratio:395/300;background:#111;border-radius:16px;break-inside:avoid;display:inline-block;margin-bottom:30px;overflow:hidden;position:relative;transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .5s,scale .5s;width:100%}.photo-card.is-portrait{aspect-ratio:395/550}.photo-card.hidden{display:none}.photo-card:hover{transform:scale(1.02)}.photo-card img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1);width:100%}.photo-card:hover img{transform:scale(1.08)}.photo-info{background:linear-gradient(#0000,#000c);bottom:0;left:0;padding:30px 20px 20px;position:absolute;width:100%;z-index:2}.photo-info h4{color:#fff;font-size:.95rem;font-weight:700;margin-bottom:2px}.photo-info p{color:var(--brand-tertiary);font-size:.7rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}@media (width<=1200px){.photo-grid{-moz-column-count:3;column-count:3}}@media (width<=900px){.photo-grid{-moz-column-count:2;column-count:2}}@media (width<=600px){.photo-grid{-moz-column-count:1;column-count:1;-moz-column-gap:16px;column-gap:16px}.photo-card{margin-bottom:16px}}.photo-modal{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#000000fa;display:flex;inset:0;justify-content:center;opacity:0;padding:40px;pointer-events:none;position:fixed;transition:opacity .5s cubic-bezier(.16,1,.3,1);z-index:9999}.photo-modal.active{opacity:1;pointer-events:auto}.photo-modal-content{max-height:85vh;max-width:90vw;position:relative;transform:scale(.95);transition:transform .6s cubic-bezier(.16,1,.3,1)}.photo-modal.active .photo-modal-content{transform:scale(1)}.photo-modal-img{border-radius:4px;box-shadow:0 40px 100px #00000080;display:block;max-height:85vh;max-width:100%;-o-object-fit:contain;object-fit:contain}.photo-modal-nav{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:60px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:.3s;width:60px;z-index:10001}.photo-modal-nav:hover{background:#fff;color:#000}.photo-modal-nav.prev{left:-100px}.photo-modal-nav.next{right:-100px}@media (width<=1400px){.photo-modal-nav.prev{left:20px}.photo-modal-nav.next{right:20px}.photo-modal-nav{background:#00000080;height:50px;width:50px}}.photo-modal-close{color:#fff;cursor:pointer;position:absolute;right:40px;top:40px;transition:.3s;z-index:10002}.photo-modal-close:hover{transform:rotate(90deg)}.photo-modal-caption{bottom:-60px;color:#fff;font-size:1rem;font-weight:500;left:0;position:absolute;text-align:center;width:100%}