.detail-panel {
  overflow-x: hidden !important;
}

@media (min-width: 1181px) and (max-width: 1500px) {
  .detail-syndikat-legal .detail-hero {
    grid-template-columns: minmax(0, 0.96fr) minmax(500px, 0.84fr) !important;
    gap: clamp(34px, 3vw, 56px) !important;
  }

  .detail-syndikat-legal .detail-copy {
    max-width: 620px !important;
  }

  .detail-syndikat-legal .detail-copy h2 {
    font-size: clamp(3.8rem, 4.35vw, 5.5rem) !important;
  }

  .detail-syndikat-legal .detail-hero-media {
    width: min(740px, 100%) !important;
  }
}

@media (max-width: 1180px) {
  .project-overlay {
    padding: clamp(8px, 2vw, 20px) !important;
  }

  .project-overlay .overlay-panel,
  .detail-panel {
    width: min(100%, calc(100vw - 16px)) !important;
    max-width: calc(100vw - 16px) !important;
    overflow-x: hidden !important;
  }

  .detail-hero,
  .detail-bonghemia .detail-hero,
  .detail-dopamine-tour .detail-hero,
  .detail-dvorek .detail-hero,
  .detail-houby-space .detail-hero,
  .detail-cafe-olbracht .detail-hero,
  .detail-cotyploty .detail-hero,
  .detail-syndikat-legal .detail-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: clamp(22px, 4vw, 42px) !important;
    min-height: 0 !important;
    padding: clamp(54px, 7vw, 78px) clamp(24px, 5vw, 46px) clamp(42px, 6vw, 58px) !important;
  }

  .detail-hero > * {
    grid-column: 1 / -1 !important;
  }

  .detail-copy,
  .detail-bonghemia .detail-copy,
  .detail-dopamine-tour .detail-copy,
  .detail-dvorek .detail-copy,
  .detail-houby-space .detail-copy,
  .detail-cafe-olbracht .detail-copy,
  .detail-cotyploty .detail-copy,
  .detail-syndikat-legal .detail-copy {
    width: 100% !important;
    max-width: 100% !important;
    padding-top: 0 !important;
  }

  .detail-copy h2,
  .detail-bonghemia .detail-copy h2,
  .detail-dopamine-tour .detail-copy h2,
  .detail-dvorek .detail-copy h2,
  .detail-houby-space .detail-copy h2,
  .detail-cafe-olbracht .detail-copy h2,
  .detail-cotyploty .detail-copy h2,
  .detail-syndikat-legal .detail-copy h2 {
    width: 100% !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    font-size: clamp(1.9rem, 7vw, 4.5rem) !important;
    line-height: 0.96 !important;
  }

  .detail-syndikat-legal .detail-copy h2 {
    font-size: clamp(1.78rem, 6.4vw, 4.1rem) !important;
  }

  .detail-lead,
  .detail-dopamine-tour .detail-lead,
  .detail-syndikat-legal .detail-lead {
    width: 100% !important;
    max-width: 680px !important;
  }

  .detail-hero-media,
  .detail-bonghemia .detail-hero-media,
  .detail-dopamine-tour .detail-hero-media,
  .detail-dvorek .detail-hero-media,
  .detail-houby-space .detail-hero-media,
  .detail-cafe-olbracht .detail-hero-media,
  .detail-cotyploty .detail-hero-media,
  .detail-syndikat-legal .detail-hero-media {
    justify-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin-top: 0 !important;
  }

  .detail-hero-media img,
  .detail-feature-media img {
    height: clamp(280px, 48vw, 520px) !important;
    min-height: 0 !important;
  }

  .detail-hero-media.is-contained img,
  .detail-feature-media.is-contained img,
  .detail-gallery-grid .is-contained img {
    object-fit: contain !important;
  }

  .detail-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
    margin-top: 4px !important;
    padding-top: 0 !important;
  }

  .detail-meta-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
    gap: 18px 28px !important;
    width: 100% !important;
    padding-top: 0 !important;
  }

  .detail-section,
  .detail-story,
  .detail-gallery-section {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-right: clamp(24px, 5vw, 46px) !important;
    padding-left: clamp(24px, 5vw, 46px) !important;
  }

  .detail-story > *,
  .detail-section > *,
  .detail-gallery-section > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .detail-section h3,
  .detail-story h3,
  .detail-gallery-section h3 {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    font-size: clamp(2.35rem, 8.4vw, 5rem) !important;
    line-height: 0.96 !important;
  }

  .detail-gallery-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .detail-gallery-grid figure,
  .detail-gallery-grid figure.is-wide {
    grid-column: auto !important;
  }

  .detail-gallery-grid img,
  .detail-gallery-grid figure.is-wide img {
    height: clamp(280px, 58vw, 520px) !important;
    min-height: 0 !important;
  }
}

@media (max-width: 760px) {
  .detail-hero,
  .detail-bonghemia .detail-hero,
  .detail-dopamine-tour .detail-hero,
  .detail-dvorek .detail-hero,
  .detail-houby-space .detail-hero,
  .detail-cafe-olbracht .detail-hero,
  .detail-cotyploty .detail-hero,
  .detail-syndikat-legal .detail-hero,
  .detail-section,
  .detail-story,
  .detail-gallery-section {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  .detail-copy h2,
  .detail-bonghemia .detail-copy h2,
  .detail-dopamine-tour .detail-copy h2,
  .detail-dvorek .detail-copy h2,
  .detail-houby-space .detail-copy h2,
  .detail-cafe-olbracht .detail-copy h2,
  .detail-cotyploty .detail-copy h2,
  .detail-syndikat-legal .detail-copy h2 {
    font-size: clamp(1.44rem, 7.2vw, 3.2rem) !important;
  }

  .detail-syndikat-legal .detail-copy h2 {
    font-size: clamp(1.36rem, 6.4vw, 2.85rem) !important;
  }

  .detail-lead,
  .detail-story-copy {
    font-size: 1rem !important;
    line-height: 1.48 !important;
  }

  .detail-hero-media img,
  .detail-feature-media img,
  .detail-gallery-grid img,
  .detail-gallery-grid figure.is-wide img {
    height: clamp(250px, 60vw, 420px) !important;
  }

  .detail-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .overlay-close {
    width: 40px !important;
    height: 40px !important;
    margin: 10px 24px -50px auto !important;
  }
}

@media (max-width: 460px) {
  .detail-copy h2,
  .detail-bonghemia .detail-copy h2,
  .detail-dopamine-tour .detail-copy h2,
  .detail-dvorek .detail-copy h2,
  .detail-houby-space .detail-copy h2,
  .detail-cafe-olbracht .detail-copy h2,
  .detail-cotyploty .detail-copy h2,
  .detail-syndikat-legal .detail-copy h2 {
    font-size: clamp(1.28rem, 6.2vw, 2.08rem) !important;
  }

  .detail-tags span,
  .detail-meta-grid dt,
  .detail-meta-grid dd {
    font-size: 0.72rem !important;
  }
}

.project-card h3 {
  white-space: nowrap !important;
}

@media (hover: hover) and (pointer: fine) {
  html,
  body,
  body * {
    cursor: none !important;
  }

  .cursor {
    display: block !important;
  }
}

@media (hover: none), (pointer: coarse) {
  html,
  body,
  body * {
    cursor: auto !important;
  }

  .cursor {
    display: none !important;
  }
}

/* Final delivery layout pass. Keep this file last in layout.tsx. */
.project-grid {
  align-items: start !important;
}

.project-card {
  display: grid !important;
  grid-template-rows: auto 22px auto auto 1fr !important;
  height: 100% !important;
}

.project-media {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
}

.project-meta {
  align-items: start !important;
  min-height: 22px !important;
  margin-top: 18px !important;
}

.project-card h3 {
  display: block !important;
  min-height: 1.08em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.02 !important;
}

.detail-panel,
.project-overlay .overlay-panel {
  overflow-x: hidden !important;
}

.detail-copy,
.detail-hero-media,
.detail-tags,
.detail-meta-grid,
.detail-section,
.detail-story,
.detail-gallery-section {
  min-width: 0 !important;
}

.detail-copy h2,
.detail-section h3,
.detail-story h3,
.detail-gallery-section h3 {
  letter-spacing: 0 !important;
  text-wrap: balance;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

.detail-feature-media.is-contained,
.detail-gallery-grid figure.is-contained {
  background: rgba(7, 9, 24, 0.045) !important;
}

.detail-feature-media.is-contained img,
.detail-gallery-grid figure.is-contained img {
  object-fit: contain !important;
  object-position: center !important;
  padding: clamp(18px, 2.8vw, 46px) !important;
  transform: none !important;
}

.detail-dopamine-tour .detail-feature-media:has(img[src*="dopamine-radnice"]) {
  aspect-ratio: 1100 / 577 !important;
}

.detail-dopamine-tour .detail-feature-media img[src*="dopamine-radnice"] {
  height: 100% !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

.detail-dopamine-tour .detail-gallery-grid img[src*="dopamine-prague"],
.detail-dopamine-tour .detail-gallery-grid img[src*="dopamine-tower"] {
  object-fit: contain !important;
  object-position: center !important;
  padding: clamp(18px, 2.8vw, 46px) !important;
  background: #fefaeb !important;
  transform: none !important;
}

.detail-dopamine-tour .detail-gallery-grid figure:has(img[src*="dopamine-prague"]),
.detail-dopamine-tour .detail-gallery-grid figure:has(img[src*="dopamine-tower"]) {
  background: #fefaeb !important;
}

@media (min-width: 1181px) {
  .project-overlay {
    padding: 24px !important;
  }

  .detail-panel {
    width: min(1860px, calc(100vw - 48px)) !important;
    max-height: calc(100vh - 48px) !important;
  }

  .detail-hero,
  .detail-bonghemia .detail-hero,
  .detail-dopamine-tour .detail-hero,
  .detail-dvorek .detail-hero,
  .detail-houby-space .detail-hero,
  .detail-cafe-olbracht .detail-hero,
  .detail-cotyploty .detail-hero,
  .detail-syndikat-legal .detail-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(430px, 0.88fr) !important;
    grid-template-areas:
      "copy media"
      "tags meta" !important;
    align-items: center !important;
    min-height: min(760px, calc(100vh - 48px)) !important;
    gap: clamp(34px, 4vw, 74px) clamp(42px, 4.2vw, 78px) !important;
    padding: clamp(76px, 5.4vw, 104px) clamp(58px, 5vw, 88px) clamp(52px, 4vw, 72px) !important;
  }

  .detail-copy,
  .detail-bonghemia .detail-copy,
  .detail-dopamine-tour .detail-copy,
  .detail-dvorek .detail-copy,
  .detail-houby-space .detail-copy,
  .detail-cafe-olbracht .detail-copy,
  .detail-cotyploty .detail-copy,
  .detail-syndikat-legal .detail-copy {
    grid-area: copy !important;
    align-self: center !important;
    width: 100% !important;
    max-width: 760px !important;
    padding-top: 0 !important;
  }

  .detail-copy h2,
  .detail-bonghemia .detail-copy h2,
  .detail-dopamine-tour .detail-copy h2,
  .detail-dvorek .detail-copy h2,
  .detail-houby-space .detail-copy h2,
  .detail-cafe-olbracht .detail-copy h2,
  .detail-cotyploty .detail-copy h2 {
    width: 100% !important;
    max-width: 760px !important;
    white-space: normal !important;
    font-size: clamp(4.25rem, 5.45vw, 7.05rem) !important;
    line-height: 0.9 !important;
  }

  .detail-bonghemia .detail-copy h2 {
    white-space: nowrap !important;
    font-size: clamp(4.45rem, 5.55vw, 7.15rem) !important;
  }

  .detail-houby-space .detail-copy h2,
  .detail-cotyploty .detail-copy h2,
  .detail-dvorek .detail-copy h2 {
    font-size: clamp(4rem, 5.1vw, 6.55rem) !important;
  }

  .detail-syndikat-legal .detail-copy h2 {
    width: 100% !important;
    max-width: 780px !important;
    white-space: normal !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(4.1rem, 5.2vw, 6.55rem) !important;
    font-weight: 400 !important;
    line-height: 0.94 !important;
    text-transform: none !important;
  }

  .detail-lead,
  .detail-dopamine-tour .detail-lead,
  .detail-syndikat-legal .detail-lead {
    width: min(620px, 100%) !important;
    max-width: 100% !important;
  }

  .detail-hero-media,
  .detail-bonghemia .detail-hero-media,
  .detail-dopamine-tour .detail-hero-media,
  .detail-dvorek .detail-hero-media,
  .detail-houby-space .detail-hero-media,
  .detail-cafe-olbracht .detail-hero-media,
  .detail-cotyploty .detail-hero-media,
  .detail-syndikat-legal .detail-hero-media {
    grid-area: media !important;
    align-self: center !important;
    justify-self: end !important;
    width: 100% !important;
    max-width: 760px !important;
    height: auto !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    aspect-ratio: 1.34 !important;
  }

  .detail-bonghemia .detail-hero-media {
    max-width: 820px !important;
    aspect-ratio: 1.08 !important;
  }

  .detail-dopamine-tour .detail-hero-media {
    max-width: 580px !important;
    aspect-ratio: 1.34 !important;
  }

  .detail-syndikat-legal .detail-hero-media,
  .detail-dvorek .detail-hero-media,
  .detail-cafe-olbracht .detail-hero-media,
  .detail-cotyploty .detail-hero-media {
    max-width: 760px !important;
    aspect-ratio: 1.58 !important;
  }

  .detail-houby-space .detail-hero-media {
    max-width: 620px !important;
    aspect-ratio: 0.78 !important;
  }

  .detail-hero-media img,
  .detail-feature-media img,
  .detail-gallery-grid img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .detail-tags {
    grid-area: tags !important;
    align-self: start !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .detail-meta-grid {
    grid-area: meta !important;
    align-self: start !important;
    padding-top: 0 !important;
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  .detail-copy h2,
  .detail-bonghemia .detail-copy h2,
  .detail-dopamine-tour .detail-copy h2,
  .detail-dvorek .detail-copy h2,
  .detail-houby-space .detail-copy h2,
  .detail-cafe-olbracht .detail-copy h2,
  .detail-cotyploty .detail-copy h2,
  .detail-syndikat-legal .detail-copy h2 {
    white-space: normal !important;
    text-wrap: balance;
    font-size: clamp(3.35rem, 8.2vw, 5.5rem) !important;
    line-height: 0.92 !important;
  }

  .detail-syndikat-legal .detail-copy h2 {
    font-size: clamp(3rem, 7.2vw, 4.9rem) !important;
  }
}

@media (max-width: 760px) {
  .project-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .project-card {
    grid-template-rows: auto auto auto auto auto !important;
  }

  .project-card h3 {
    min-height: 0 !important;
  }

  .detail-hero,
  .detail-bonghemia .detail-hero,
  .detail-dopamine-tour .detail-hero,
  .detail-dvorek .detail-hero,
  .detail-houby-space .detail-hero,
  .detail-cafe-olbracht .detail-hero,
  .detail-cotyploty .detail-hero,
  .detail-syndikat-legal .detail-hero {
    grid-template-areas:
      "media"
      "copy"
      "tags"
      "meta" !important;
    gap: 20px !important;
    padding-top: 58px !important;
  }

  .detail-copy {
    grid-area: copy !important;
  }

  .detail-hero-media {
    grid-area: media !important;
  }

  .detail-tags {
    grid-area: tags !important;
  }

  .detail-meta-grid {
    grid-area: meta !important;
  }

  .detail-copy h2,
  .detail-bonghemia .detail-copy h2,
  .detail-dopamine-tour .detail-copy h2,
  .detail-dvorek .detail-copy h2,
  .detail-houby-space .detail-copy h2,
  .detail-cafe-olbracht .detail-copy h2,
  .detail-cotyploty .detail-copy h2,
  .detail-syndikat-legal .detail-copy h2 {
    white-space: normal !important;
    text-wrap: balance;
    font-size: clamp(2.15rem, 10.6vw, 3.55rem) !important;
    line-height: 0.93 !important;
  }

  .detail-syndikat-legal .detail-copy h2,
  .detail-houby-space .detail-copy h2 {
    font-size: clamp(2rem, 9.5vw, 3.1rem) !important;
  }

  .detail-feature-media.is-contained img,
  .detail-gallery-grid figure.is-contained img,
  .detail-dopamine-tour .detail-gallery-grid img[src*="dopamine-prague"],
  .detail-dopamine-tour .detail-gallery-grid img[src*="dopamine-tower"] {
    padding: clamp(14px, 4.4vw, 24px) !important;
  }
}

.illustrations-section {
  overflow-x: hidden !important;
}

.ill-carousel {
  overflow: visible !important;
}

.ill-track {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 30px) !important;
  overflow: visible !important;
  padding: 4px 0 clamp(18px, 2vw, 28px) !important;
  scroll-snap-type: none !important;
}

.ill-card,
.ill-card:nth-child(3) {
  width: 100% !important;
  height: clamp(420px, 34vw, 620px) !important;
  min-width: 0 !important;
  flex: none !important;
}

.ill-card img {
  object-fit: contain !important;
  object-position: center !important;
  background: #fffdf7 !important;
}

@media (max-width: 980px) {
  .ill-track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .ill-track {
    grid-template-columns: 1fr !important;
  }

  .ill-card,
  .ill-card:nth-child(3) {
    height: min(118vw, 560px) !important;
  }
}

.project-card-image,
.project-card-hover-image,
.detail-hero-media img,
.detail-feature-media img,
.detail-gallery-grid img,
.ill-card img {
  backface-visibility: hidden !important;
}

@media (hover: hover) and (pointer: fine) {
  .project-card:hover .project-card-image,
  .project-card:hover .project-card-hover-image,
  .detail-gallery-grid figure:hover img,
  .ill-card:hover img {
    will-change: transform, opacity !important;
  }
}

@media (max-width: 760px) {
  .mesh-blob,
  .scroll-cue span {
    animation: none !important;
    will-change: auto !important;
  }

  .marquee-track {
    animation-duration: 48s !important;
  }

  .project-card-image,
  .project-card-hover-image,
  .detail-gallery-grid img,
  .ill-card img {
    transition-duration: 240ms !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mesh-blob,
  .blink-comma,
  .blink-sm,
  .scroll-cue span,
  .marquee-track {
    animation: none !important;
  }

  .project-card-image,
  .project-card-hover-image,
  .detail-gallery-grid img,
  .ill-card img,
  .cursor {
    transition-duration: 1ms !important;
  }
}

/* Client pass: project tiles stay static, without hover image swaps or CTA pills. */
.project-card-hover-image,
.project-hover-label {
  display: none !important;
}

.project-card .project-card-image {
  transform: none !important;
  filter: none !important;
  transition: filter 180ms ease, opacity 180ms ease !important;
}

.project-card:hover .project-card-image {
  transform: none !important;
  filter: blur(2px) saturate(0.96) !important;
}

.project-card:hover .project-media::after {
  opacity: 0 !important;
}

.project-card:hover .project-logo {
  transform: none !important;
}

.project-bonghemia .project-card-image,
.project-bonghemia:hover .project-card-image,
.project-cotyploty .project-card-image,
.project-cotyploty:hover .project-card-image {
  opacity: 0 !important;
}

.project-bonghemia .project-logo,
.project-bonghemia:hover .project-logo,
.project-cotyploty .project-logo,
.project-cotyploty:hover .project-logo {
  opacity: 0.88 !important;
}

.project-card:not(.project-bonghemia):not(.project-cotyploty) .project-logo,
.project-card:not(.project-bonghemia):not(.project-cotyploty):hover .project-logo {
  opacity: 0 !important;
}

.project-dopamine-tour .project-card-image {
  object-position: center center !important;
}

/* Final QA pass: stable project cards, no faded hover swaps. */
.project-card {
  display: flex !important;
  min-width: 0 !important;
  height: 100% !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

.project-media {
  flex: 0 0 auto !important;
  margin-bottom: clamp(14px, 1.1vw, 20px) !important;
}

.project-meta {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  min-height: auto !important;
  margin: 0 18px 12px !important;
  gap: 12px !important;
  line-height: 1.2 !important;
}

.project-meta span {
  min-width: 0 !important;
}

.project-meta span:first-child {
  overflow-wrap: anywhere !important;
}

.project-card h3 {
  display: block !important;
  min-height: 0 !important;
  margin: 0 18px 8px !important;
  line-height: 0.96 !important;
  white-space: nowrap !important;
  font-weight: 400 !important;
}

.project-card p {
  min-height: 22px !important;
  margin: 0 18px 18px !important;
  line-height: 1.35 !important;
}

.project-card .tag-row {
  margin-top: auto !important;
  padding-top: 0 !important;
}

.project-card .project-card-image {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: filter 160ms ease !important;
  will-change: auto !important;
}

.project-card:hover .project-card-image {
  opacity: 1 !important;
  transform: none !important;
  filter: blur(2px) saturate(0.96) !important;
  will-change: filter !important;
}

.project-bonghemia .project-card-image,
.project-bonghemia:hover .project-card-image,
.project-cotyploty .project-card-image,
.project-cotyploty:hover .project-card-image {
  opacity: 0 !important;
}

.project-bonghemia .project-logo,
.project-cotyploty .project-logo {
  opacity: 0.88 !important;
  filter: brightness(0) invert(1) !important;
  transition: filter 160ms ease !important;
}

.project-bonghemia:hover .project-logo,
.project-cotyploty:hover .project-logo {
  opacity: 0.88 !important;
  transform: none !important;
  filter: brightness(0) invert(1) blur(2px) saturate(0.96) !important;
}

.project-card:not(.project-bonghemia):not(.project-cotyploty) .project-logo,
.project-card:not(.project-bonghemia):not(.project-cotyploty):hover .project-logo {
  opacity: 0 !important;
}

.project-syndikat-legal .project-card-image {
  object-position: center center !important;
}

@media (max-width: 760px) {
  .project-media {
    margin-bottom: 12px !important;
  }

  .project-meta {
    margin: 0 16px 10px !important;
    gap: 10px !important;
    font-size: 0.66rem !important;
  }

  .project-card h3 {
    margin: 0 16px 7px !important;
    font-size: clamp(1.15rem, 6.2vw, 1.8rem) !important;
  }

  .project-card p {
    margin: 0 16px 16px !important;
  }
}

/* Final client notes: illustrations are a carousel again, about title uses the bold heading cut. */
.ill-title-row {
  align-items: flex-end !important;
}

.ill-controls {
  display: flex !important;
}

.ill-arrow {
  cursor: pointer !important;
}

.ill-carousel {
  overflow: hidden !important;
}

.ill-track {
  display: flex !important;
  grid-template-columns: none !important;
  gap: clamp(14px, 1.8vw, 24px) !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 4px 0 20px !important;
  scroll-behavior: smooth !important;
  scroll-snap-type: x mandatory !important;
  scrollbar-width: none !important;
}

.ill-track::-webkit-scrollbar {
  display: none !important;
}

.ill-card,
.ill-card:nth-child(3) {
  width: auto !important;
  min-width: min(78vw, 320px) !important;
  height: clamp(360px, 33vw, 560px) !important;
  flex: 0 0 clamp(300px, 28vw, 460px) !important;
  scroll-snap-align: start !important;
}

.ill-card:nth-child(3) {
  flex-basis: clamp(360px, 38vw, 620px) !important;
}

.ill-card img {
  object-fit: contain !important;
  object-position: center !important;
  background: #fffdf7 !important;
}

.about-section h2 {
  font-family: "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk Text Pro", "Neue Haas Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-weight: 300 !important;
  line-height: 0.9 !important;
  letter-spacing: 0 !important;
}

/* Client note: keep regular headings in caps lock, matching the illustrations title. */
.section-head h2,
.service-item h3,
.project-card h3,
.collab-item h3,
.ill-title,
.about-section h2,
.contact-section h2 {
  text-transform: uppercase !important;
}

@media (max-width: 760px) {
  .ill-title-row {
    gap: 18px !important;
  }

  .ill-controls {
    padding-bottom: 4px !important;
  }

  .ill-arrow {
    width: 42px !important;
    height: 42px !important;
  }

  .ill-card,
  .ill-card:nth-child(3) {
    min-width: min(82vw, 330px) !important;
    height: min(106vw, 460px) !important;
    flex-basis: min(82vw, 330px) !important;
  }
}

/* Homepage headline unification: same bold cut as ILUSTRACE, with stable wrapping. */
.projects-section .section-head h2,
.services-section .section-head h2,
.collabs-section .section-head h2,
.ill-title,
.about-section h2,
.contact-section h2 {
  max-width: 100% !important;
  margin-top: 0 !important;
  font-family: "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk Text Pro", "Neue Haas Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  text-wrap: balance !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.projects-section .section-head h2,
.services-section .section-head h2,
.collabs-section .section-head h2 {
  font-size: clamp(58px, 7vw, 128px) !important;
}

.ill-title {
  font-size: clamp(64px, 10vw, 176px) !important;
}

.about-section h2,
.contact-section h2 {
  width: min(1180px, 100%) !important;
  font-size: clamp(58px, 7.4vw, 140px) !important;
}

.section-head-stacked h2 span {
  text-transform: uppercase !important;
}

@media (max-width: 760px) {
  .projects-section .section-head h2,
  .services-section .section-head h2,
  .collabs-section .section-head h2,
  .ill-title,
  .about-section h2,
  .contact-section h2 {
    font-size: clamp(44px, 14vw, 76px) !important;
    line-height: 0.92 !important;
  }

  .projects-section .section-head,
  .services-section .section-head,
  .collabs-section .section-head {
    align-items: start !important;
  }

  .ill-title-row {
    align-items: flex-start !important;
  }

  .ill-controls {
    align-self: flex-end !important;
  }
}

/* Exact homepage heading match: first sections use the same treatment as ILUSTRACE. */
.projects-section .section-head h2,
.services-section .section-head h2,
.collabs-section .section-head h2,
.ill-title {
  font-family: "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk Text Pro", "Neue Haas Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: clamp(64px, 10vw, 176px) !important;
  font-weight: 300 !important;
  line-height: 0.92 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

@media (max-width: 760px) {
  .projects-section .section-head h2,
  .services-section .section-head h2,
  .collabs-section .section-head h2,
  .ill-title {
    /* 18vw přetékalo dlouhá slova (např. „SPOLUPRÁCE") přes okraj na mobilu */
    font-size: clamp(40px, 13vw, 96px) !important;
    line-height: 0.92 !important;
  }
}
