/* Add after the existing gallery CSS. Media stays inside the responsive stage. */
.ic-lightbox__video {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  min-width: 0;
  object-fit: contain;
  border-radius: 5px;
  background: #000;
}
.ic-lightbox__video[hidden], .ic-lightbox__image[hidden] { display: none !important; }
@media (max-width: 700px) {
  .ic-lightbox__video { max-width: 100%; max-height: 100%; }
}

/* Project albums: restrained cards matching the cream and taupe brand. */
.ic-project-card .ic-gallery-card__trigger { aspect-ratio:auto; overflow:visible; height:100%; display:flex; flex-direction:column; background:transparent; color:inherit; text-decoration:none; }
.ic-project-card__media { position:relative; width:100%; aspect-ratio:4 / 3; overflow:hidden; background:var(--ic-sand,#e7dfd3); }
.ic-project-card__media img { width:100%; height:100%; object-fit:cover; }
.ic-project-card__count { position:absolute; top:14px; left:14px; max-width:calc(100% - 28px); padding:8px 11px; border-radius:40px; background:rgba(250,247,240,.96); color:#3e382e; border:1px solid rgba(110,91,65,.16); font-size:11px; font-weight:600; line-height:1.35; box-shadow:0 2px 10px rgba(0,0,0,.06); }
.ic-project-card .ic-gallery-card__body { display:flex; flex-direction:column; flex:1; padding:23px 24px 24px; }
.ic-project-card .ic-gallery-card__category { display:block; min-height:30px; font-size:10px; letter-spacing:.035em; }
.ic-project-card .ic-gallery-card__body h3 { font-size:20px; line-height:1.3; margin-bottom:12px; }
.ic-project-card .ic-gallery-card__body p:not(.ic-gallery-card__category) { margin-bottom:24px; }
.ic-project-card__action { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:auto; padding-top:16px; border-top:1px solid #e5ded2; color:#746249; font-size:13px; font-weight:600; }
.ic-project-card__action span { font-size:20px; font-weight:400; }
.ic-gallery-archive { background:#f1ede4; padding:0 0 28px; }
.ic-gallery-archive > summary { display:flex; justify-content:space-between; align-items:center; gap:24px; cursor:pointer; list-style:none; padding-top:28px; padding-bottom:28px; border-top:1px solid #ddd4c7; }
.ic-gallery-archive > summary::-webkit-details-marker { display:none; }
.ic-gallery-archive > summary > span:first-child { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px 24px; }
.ic-gallery-archive > summary strong { color:#353027; font-size:clamp(20px,2vw,28px); font-weight:500; letter-spacing:-.025em; }
.ic-gallery-archive > summary > span:first-child > span { color:#756b5c; font-size:14px; }
.ic-gallery-archive__toggle { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; border:1px solid #b4a48e; border-radius:50%; font-size:26px; line-height:1; color:#746249; transition:transform .2s; }
.ic-gallery-archive[open] .ic-gallery-archive__toggle { transform:rotate(45deg); }
.ic-gallery-archive > summary:focus-visible { outline:3px solid #a08b6a; outline-offset:-4px; }
.ic-gallery-archive .ic-gallery { padding-top:30px; }
.ic-gallery__heading--archive { margin-bottom:30px; }
.ic-gallery__heading--archive h2 { font-size:clamp(24px,2.6vw,34px); }
@media(max-width:700px) { .ic-project-card .ic-gallery-card__body { padding:21px 22px; } .ic-gallery-archive > summary > span:first-child { display:block; } .ic-gallery-archive > summary > span:first-child > span { display:block; margin-top:7px; line-height:1.6; } }
@media(prefers-reduced-motion:reduce) { .ic-gallery-archive__toggle { transition:none; } }
