/* Page CSS for "portfolio", lifted from the original inline <style>.
   Scoped to body.optic-page-portfolio so all pages can load together. */
body.optic-page-portfolio .page-header {
            padding: 12rem 0 6rem;
            background: linear-gradient(rgba(10, 10, 10, 0.9), rgba(10, 10, 10, 1)), url('https://images.unsplash.com/photo-1621619856624-42fd193a0661?auto=format&fit=crop&q=80');
            background-size: cover;
            background-position: center;
            text-align: center;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        }
body.optic-page-portfolio .portfolio-filters {
            display: flex;
            justify-content: center;
            gap: 2rem;
            margin-bottom: 4rem;
            flex-wrap: wrap;
        }
body.optic-page-portfolio .filter-btn {
            background: transparent;
            border: none;
            color: var(--brand-gray);
            font-family: var(--font-label);
            text-transform: uppercase;
            letter-spacing: 2px;
            font-size: 0.85rem;
            cursor: pointer;
            padding-bottom: 5px;
            border-bottom: 2px solid transparent;
            transition: all 0.3s ease;
        }
body.optic-page-portfolio .filter-btn.active, body.optic-page-portfolio .filter-btn:hover {
            color: var(--brand-teal);
            border-bottom: 2px solid var(--brand-teal);
        }
body.optic-page-portfolio .portfolio-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 2rem;
        }
body.optic-page-portfolio .portfolio-item {
            position: relative;
            overflow: hidden;
            aspect-ratio: 16/9;
            background: #111;
            cursor: pointer;
            border: 1px solid rgba(255,255,255,0.05);
        }
body.optic-page-portfolio .portfolio-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 1.2s ease;
            opacity: 0.7;
        }
body.optic-page-portfolio .portfolio-item:hover .portfolio-img {
            transform: scale(1.08); /* Slower, more cinematic zoom */
            opacity: 1;
        }
body.optic-page-portfolio .portfolio-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 3rem 2rem 2rem;
            background: linear-gradient(transparent, rgba(10, 10, 10, 0.95) 80%);
            transform: translateY(20px);
            opacity: 0;
            transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }
body.optic-page-portfolio .portfolio-item:hover .portfolio-overlay {
            transform: translateY(0);
            opacity: 1;
        }
body.optic-page-portfolio .portfolio-overlay h3 {
            color: var(--off-white);
            margin-bottom: 0.5rem;
            font-size: 1.5rem;
        }
body.optic-page-portfolio .portfolio-overlay span {
            color: var(--brand-teal);
            font-family: var(--font-label);
            text-transform: uppercase;
            letter-spacing: 1px;
            font-size: 0.75rem;
        }


        @media (max-width: 768px) {body.optic-page-portfolio .portfolio-grid {
                grid-template-columns: 1fr;
            }

        }

    
