/* Small refinements over the original cyber theme in styles.css and polish.css. */

/* Keep image scanlines off; original artwork and hover motion remain active. */
.homepage-card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; }
.homepage-card-grid .featured-card { height: 100%; }
.homepage-card-grid .thumbnail-frame { aspect-ratio: 16 / 10; height: auto; border-right: 0; border-bottom: 1px solid var(--border); }
.homepage-card-grid .project-summary { -webkit-line-clamp: 3; }
.entry-text-thumbnail { display: grid; place-items: center; padding: 2rem; background: linear-gradient(140deg, var(--surface), var(--bg)); }
.entry-text-thumbnail > span { font-family: var(--font-mono); font-size: 1rem; color: var(--cyan); text-align: center; overflow-wrap: anywhere; }
.project-hero.entry-without-cover { grid-template-columns: minmax(0, 1fr); }
.project-cover[hidden] { display: none; }
@media (max-width: 1024px) { .homepage-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .homepage-card-grid { grid-template-columns: 1fr; } }
.scanlines { display: none !important; }
.thumbnail-frame::after, .portrait-frame::before { content: none !important; display: none !important; }
.thumbnail-frame img { filter: none; }

/* Native path animation and the original aligned radar work together. */
.thumbnail-frame[data-radar="attack-range"]::before,
#home-project-grid .thumbnail-frame[data-radar="attack-range"]::before {
  background: conic-gradient(from 0deg, transparent 0deg, transparent 284deg,
    rgba(0, 247, 255, .24) 328deg, rgba(118, 253, 255, .78) 357deg, transparent 360deg);
  opacity: 1;
  filter: drop-shadow(0 0 4px rgba(0, 247, 255, .65));
}
.cover-motion-picture { display: block; width: 100%; height: 100%; }

/* Quiet, squared metadata labels above each project title. */
.card-badge { gap: .35rem; }
.card-badge a, .card-badge span {
  border-radius: 3px; background: var(--bg-elev); backdrop-filter: none;
  font-size: .6rem; letter-spacing: .045em; padding-inline: .45rem;
}
.card-badge span { color: var(--text-dim); }
.map-shield span { border-radius: 4px; }
.topology-embed-mount { scroll-margin-block: 6rem 2rem; }
.featured-card { grid-template-rows: auto 1fr; }

/* Compact rectangular technology labels replace the original colored ovals. */
.stack-list { gap: .35rem; list-style: none; }
.stack-list li, .stack-list li:hover {
  border: 1px solid var(--border); border-radius: 3px;
  background: transparent; padding: .18rem .45rem;
  color: var(--text-dim); font: 500 .7rem/1.65 var(--font-mono);
}
.hero-stack li { font-size: .8rem; }
.project-link-row { padding-top: 1rem; gap: .5rem; flex-wrap: wrap; }
.project-link-row time { white-space: nowrap; }
.project-link-row .read-doc { font-size: .64rem; padding-inline: .7rem; white-space: nowrap; }

/* Preserve the original service layout with readable notes and unobstructed captures. */
.project-diagram:hover img { transform: none; }
.project-diagram img, .service-diagram img { height: auto; object-fit: contain; }
.embed-note { text-transform: none; letter-spacing: 0; font-size: .82rem; line-height: 1.7; }
.gallery-item:hover { transform: none; }
.gallery-item figcaption { line-height: 1.65; opacity: 1; }
.service-diagram img:focus-visible, .gallery-item img:focus-visible { outline-color: var(--cyan); }
@media (prefers-reduced-motion: reduce) {
  .thumbnail-frame.cover-motion::before { display: none; }
  .project-card:hover, .category-card:hover, .capability-card:hover, .button:hover { transform: none; }
  .project-card:hover .thumbnail-frame img, .category-card:hover .thumbnail-frame img,
  .category-card:hover .category-cover img { transform: none; }
}
