/* Lenis showcase atmosphere: black, small stars and the FWD orange accent. */
.fwd-projects .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
body:has(.fwd-projects-intro) { background: #000; }
main > div.fixed.h-screen::after { opacity: .18; }
.fwd-projects-intro {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center;
  min-height: 54svh; padding: calc(var(--header-height) + 64px) 20px 72px; gap: 18px; text-align: center;
}
.fwd-projects-intro h1 { font-size: clamp(90px, 12.5vw, 200px); line-height: 1; }
.fwd-projects-intro .h4 { font-size: clamp(16px, 2.2vw, 32px); line-height: 1.3; text-wrap: balance; }
.fwd-projects {
  position: relative; z-index: 1; color: var(--color-white, #efefef);
  background: transparent; scroll-margin-top: calc(var(--header-height) + 20px); padding: 28px max(20px, 2.78vw) clamp(88px, 10vw, 160px);
  font-family: var(--font-roboto), Arial, sans-serif;
}
.fwd-portfolio-inner { max-width: 1840px; margin: auto; }
.fwd-portfolio-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.fwd-project-search { position: relative; flex: 0 0 240px; }
.fwd-project-search input { width: 100%; height: 44px; padding: 0 42px 0 18px; border: 1px solid #777; border-radius: 40px; font: inherit; font-size: 14px; background: transparent; color: inherit; }
.fwd-project-search input::placeholder { color: #a3a3a3; opacity: 1; }
.fwd-project-search input::-webkit-search-cancel-button { cursor: pointer; }
.fwd-project-search svg { position: absolute; pointer-events: none; right: 14px; top: 13px; width: 18px; height: 18px; stroke: currentColor; stroke-width: 1.4; }
.fwd-industry-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.fwd-industry-filters button { min-height: 44px; padding: 9px 16px; border: 1px solid #777; border-radius: 40px; font-size: 14px; }
.fwd-industry-filters button[aria-pressed="true"] { background: #ff4e00; border-color: #ff4e00; color: #000; }
.fwd-projects button, .fwd-projects a { -webkit-tap-highlight-color: transparent; }
.fwd-projects button { cursor: pointer; transition: color .2s, background-color .2s; }
.fwd-projects button:hover { background-color: #ffffff18; }
.fwd-projects button[aria-pressed="true"]:hover { background-color: #ff4e00; }
.fwd-projects :is(button, a, input):focus-visible { outline: 2px solid #ff4e00; outline-offset: 4px; }
.fwd-portfolio-options { display: flex; align-items: center; justify-content: space-between; margin: 22px 0 14px; }
.fwd-project-count { color: #a3a3a3; font-size: 13px; font-variant-numeric: tabular-nums; }
.fwd-view-switch { display: flex; gap: 6px; }
.fwd-view-switch button { min-width: 48px; min-height: 36px; border-radius: 4px; color: #a3a3a3; font-size: 13px; }
.fwd-view-switch button[aria-pressed="true"] { color: #efefef; text-decoration: underline; text-underline-offset: 5px; }
.fwd-project-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 24px; }
.fwd-project-card { min-width: 0; }
.fwd-project-link { display: block; color: inherit; text-decoration: none; }
.fwd-project-visual { position: relative; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: #111; }
.fwd-project-visual img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.fwd-project-visual:has(img[src="/fwd/dental-cover.png"]) { background: #0b5344; }
.fwd-project-visual img[src="/fwd/dental-cover.png"] { object-fit: contain; }
.fwd-project-visual:has(img[src="/fwd/event-cover.png"]) { background: #f7f4ed; }
.fwd-project-visual img[src="/fwd/event-cover.png"] { object-fit: contain; }
.fwd-project-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 16px; }
.fwd-project-heading h3 { font-size: 24px; font-weight: 500; line-height: 1.2; letter-spacing: -.025em; }
.fwd-project-arrow { font-size: 26px; line-height: 1; transition: transform .25s; }
.fwd-project-meta { margin-top: 6px; color: #a3a3a3; font-size: 16px; line-height: 1.35; }
.fwd-project-meta span { margin: 0 4px; }
.fwd-project-summary, .fwd-project-tags { display: none; }
@media (hover: hover) {
  .fwd-project-link:hover .fwd-project-arrow { transform: translate(2px, -2px); }
  .fwd-project-link:hover .fwd-project-visual img { transform: scale(1.08); }
}
.fwd-projects[data-view="list"] .fwd-project-results { grid-template-columns: 1fr; gap: 0; }
.fwd-projects[data-view="list"] .fwd-project-link {
  display: grid; grid-template-columns: minmax(0, 1fr) 36%; grid-template-areas: "heading visual" "meta visual" "summary visual" "tags visual";
  column-gap: 56px; padding: 32px 0; border-top: 1px solid #444;
}
.fwd-projects[data-view="list"] .fwd-project-heading { grid-area: heading; margin-top: 0; }
.fwd-projects[data-view="list"] .fwd-project-heading h3 { font-family: var(--font-anton), sans-serif; font-size: clamp(40px, 5vw, 72px); text-transform: uppercase; }
.fwd-projects[data-view="list"] .fwd-project-meta { grid-area: meta; }
.fwd-projects[data-view="list"] .fwd-project-summary { display: block; grid-area: summary; max-width: 48ch; padding: 24px 0; font-size: clamp(17px, 1.5vw, 22px); line-height: 1.45; }
.fwd-projects[data-view="list"] .fwd-project-visual { grid-area: visual; align-self: center; }
.fwd-projects[data-view="list"] .fwd-project-tags { display: flex; flex-wrap: wrap; gap: 8px; grid-area: tags; align-self: end; list-style: none; padding: 0; margin: 0; }
.fwd-project-tags li { border: 1px solid #777; padding: 7px 12px; border-radius: 30px; font-size: 13px; }
.fwd-project-card[hidden], .fwd-project-empty[hidden] { display: none; }
.fwd-project-empty { text-align: center; padding: 80px 20px; border-top: 1px solid #444; }
.fwd-empty-title { font-size: clamp(24px, 3vw, 36px); font-weight: 500; letter-spacing: -.03em; margin-bottom: 16px; }
.fwd-project-empty > p + p { color: #a3a3a3; font-size: 17px; }
.fwd-project-empty button { margin-top: 26px; padding: 12px 4px; border-bottom: 1px solid currentColor; font-size: 17px; }
/* The shared mark and hands return behind the unchanged homepage footer. */
#fwd-hero-stage { grid-template-columns: minmax(0, 1fr); opacity: 0; transition: opacity .6s; }
.fwd-projects-footer #fwd-hero-stage { opacity: 1; }
@media (max-width: 1100px) {
  .fwd-portfolio-toolbar { align-items: flex-start; flex-direction: column; gap: 20px; }
  .fwd-project-search { flex-basis: auto; width: min(100%, 320px); }
  .fwd-industry-filters { justify-content: flex-start; }
}
@media (max-width: 800px) {
  .fwd-projects-intro { min-height: 380px; gap: 18px; padding-top: calc(var(--header-height) + 56px); padding-bottom: 52px; }
  .fwd-projects-intro h1 { font-size: clamp(80px, 22vw, 150px); }
  .fwd-projects-intro .h4 { max-width: 28em; font-size: 16px; }
  .fwd-project-search { width: 100%; }
  .fwd-industry-filters { gap: 8px; }
  .fwd-industry-filters button { padding-inline: 14px; font-size: 13px; }
  .fwd-project-results { grid-template-columns: 1fr; gap: 36px; }
  .fwd-project-heading { margin-top: 14px; }
  .fwd-project-heading h3 { font-size: 22px; }
  .fwd-project-meta { font-size: 14px; }
  .fwd-projects[data-view="list"] .fwd-project-link { grid-template-columns: minmax(0, 1fr); grid-template-areas: "heading" "meta" "summary" "tags" "visual"; padding: 28px 0; }
  .fwd-projects[data-view="list"] .fwd-project-visual { margin-top: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .fwd-projects *, #fwd-hero-stage { transition: none !important; }
}
