/* Extend the existing section/grid/type/button system; keep changes local. */
.featured-project-section, #our-projects { scroll-margin-top: 90px; }
.featured-project-section .featured-project-preview {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}
.featured-project-preview img, .featured-project-gallery img, .featured-project-overview img {
  display: block;
  width: 100%;
  height: auto;
}
.featured-project-section .featured-project-client {
  margin-top: 18px;
  color: #293043;
  font-weight: 700;
}
.featured-project-meta { margin: 24px 0 0; font-size: 16px; }
.featured-project-meta > div {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 16px;
  margin-top: 8px;
}
.featured-project-meta dt { color: #293043; font-weight: 700; }
.featured-project-meta dd { margin: 0; }
.featured-project-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 24px;
  margin-top: 30px;
}
.featured-project-actions .button {
  margin: 0;
  padding-right: 28px;
  padding-left: 28px;
  white-space: normal;
}
.featured-project-link, .featured-project-more {
  display: inline-block;
  padding: 10px 0;
  color: #003399;
  font-weight: 700;
  text-underline-offset: 4px;
}
.featured-project-more { margin-top: 18px; font-size: 14px; }
.featured-project-link[href]:hover, .featured-project-more:hover {
  color: #003399;
  text-decoration: underline;
}
.featured-project-link[aria-disabled="true"] { color: #696e7b; cursor: default; }
.featured-project-section :is(button, a):focus-visible {
  outline: 3px solid #003399;
  outline-offset: 5px;
}
.featured-project-dialog {
  box-sizing: border-box;
  width: min(900px, calc(100% - 32px));
  max-height: calc(100vh - 48px);
  max-height: calc(100dvh - 48px);
  margin: auto;
  padding: 40px;
  border: 0;
  background: #fff;
  color: #696e7b;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.featured-project-dialog::backdrop { background: rgba(41, 48, 67, .7); }
.featured-project-dialog-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.featured-project-close {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border: 0;
  background: #f7f6f9;
  color: #293043;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.featured-project-close:hover { background: #e9e7ef; }
.featured-project-overview { margin: 30px 0 0; }
.featured-project-collaboration { margin-top: 40px; }
.featured-project-gallery figure > a { display: block; cursor: zoom-in; }
.featured-project-gallery { margin-top: 40px; }
.featured-project-gallery figure { margin: 24px 0 0; }
.featured-project-gallery figcaption { margin-top: 12px; font-size: 14px; }
.featured-project-document {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid #e9e7ef;
}
.featured-project-order-image {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 24px;
  border: 1px solid #e9e7ef;
}
.featured-project-section :is(h2, h3, p, dd, a) { overflow-wrap: anywhere; }
@media (max-width: 575px) {
  .featured-project-actions { align-items: flex-start; flex-direction: column; }
  .featured-project-dialog { padding: 24px; }
}
