/* ======================================== PORTFOLIO — extends style.css only ======================================== */ .nav-links a.active { color: var(--accent); text-decoration: underline; } /* — Project card link — */ .project-card-link { display: block; text-decoration: none; color: var(--white); } .project-card-inner { transition: transform 0.1s, box-shadow 0.1s; } .project-card-link:hover .project-card-inner { transform: translate(-2px, -2px); box-shadow: 10px 10px 0px var(--black); } .project-card-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 0.5rem; } .project-card-year { font-family: var(--mono); font-size: 0.75rem; color: var(--grey-text); } .project-card-cta { display: inline-block; font-family: var(--mono); font-size: 0.8rem; font-weight: 700; text-transform: uppercase; color: var(--accent); margin-top: 1.5rem; } /* — Tags — */ .tags-row { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 1rem; } .tag { font-family: var(--mono); font-size: 0.62rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; padding: 0.3rem 0.65rem; background: var(--black); border: 2px solid var(--grey-dark); color: var(--grey-text); } /* — Case study meta grid — */ .cs-meta-grid { grid-template-columns: repeat(4, 1fr); } .cs-meta-grid .service-item h3 { font-size: 0.95rem; text-transform: none; font-weight: 500; color: var(--white); } /* — Browser chrome — */ .browser-chrome { display: flex; align-items: center; gap: 1rem; padding: 0.6rem 1rem; background: var(--black); border: var(--border-orange); border-bottom: none; } .browser-chrome--sm { padding: 0.45rem 0.75rem; margin-bottom: 1rem; } .browser-dots { display: flex; gap: 0.35rem; flex-shrink: 0; } .browser-dots span { width: 0.5rem; height: 0.5rem; border-radius: 50%; display: block; } .browser-dots span:first-child { background: #ff5f57; } .browser-dots span:nth-child(2) { background: #febc2e; } .browser-dots span:nth-child(3) { background: #28c840; } .browser-url { font-family: var(--mono); font-size: 0.65rem; color: var(--grey-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* — Screenshots — */ .screenshot-hero-wrap { width: 70%; margin: 0 auto; border: var(--border-orange); box-shadow: var(--shadow-orange); } .screenshot-hero-wrap .browser-chrome { border: none; border-bottom: 2px solid var(--accent); } .screenshot-hero { display: block; width: 100%; } .screenshot-card { padding: 2rem; } .screenshot-screen { display: block; width: 100%; border: var(--border-orange); border-top: none; } /* ======================================== RESPONSIVE ======================================== */ @media (max-width: 960px) { .cs-meta-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 768px) { .screenshot-hero-wrap { width: 100%; } .cs-meta-grid { grid-template-columns: 1fr; } }