[hidden] { display: none !important; }
html:not(.js) .mobile-toggle { display: none; }
details.index-item > summary { list-style: none; }
details.index-item > summary::-webkit-details-marker { display: none; }
details.index-item[open] .index-name { color: #171717; }
details.index-item[open] .index-toggle { transform: rotate(45deg); }
details.index-item[open] .index-content { animation: reveal-project .3s ease; }
.gallery-actions a { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; border: 1px solid #e4e4e4; border-radius: 7px; padding: 6px 10px; }
.gallery-thumbnails a { flex: 1 0 115px; max-width: 190px; text-align: left; border: 1px solid #e5e5e5; border-radius: 8px; padding: 8px; }
.gallery-thumbnails a.selected { border-color: #333; }
dialog.gallery-dialog { width: calc(100% - 6vw); height: 92vh; max-width: none; max-height: none; margin: auto; inset: 0; border: 0; }
dialog.gallery-dialog:not([open]) { display: none; }
dialog.gallery-dialog::backdrop { background: #000b; }
.gallery-close { font-size: 24px; line-height: 1; }
@keyframes reveal-project { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 800px) {
  html:not(.js) .site-header { height: auto; position: static; flex-wrap: wrap; }
  html:not(.js) .mobile-nav { position: static; display: flex; flex-wrap: wrap; width: 100%; border: 0; padding: 0; box-shadow: none; }
}
@media (max-width: 650px) {
  .gallery-thumbnails a { flex: 0 0 120px; }
  dialog.gallery-dialog { width: 94vw; height: 96vh; }
}
@media (prefers-reduced-motion: reduce) { details.index-item[open] .index-content { animation: none; } }
@media print { .case-tab-panel[hidden] { display: block !important; } .case-tab-list, dialog.gallery-dialog { display: none !important; } }

