/* Store photography in a bento collage; campaign artwork remains square. */
.case-page[data-project="texas"] .case-gallery > .gallery-grid { display: block; }
.case-page[data-project="texas"] .case-gallery > .section-top { gap: 20px; align-items: start; }
.case-page[data-project="texas"] .case-gallery > .section-top .small { text-align: right; }
.texas-gallery-section { min-width: 0; }
.texas-gallery-heading { display: flex; justify-content: space-between; align-items: end; gap: 35px; margin: 35px 0; }
.texas-gallery-heading .eyebrow { color: var(--lime); }
.texas-gallery-heading h2 { font-size: clamp(32px, 4.3vw, 60px); line-height: 1.15; letter-spacing: -.045em; margin-top: 18px; }
.texas-gallery-heading > p { font-size: 13px; line-height: 1.9; color: #b2bca6; max-width: 360px; }
.texas-bento { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: clamp(88px, 10.5vw, 150px); gap: 16px;
  grid-template-areas:
    "one one one one one two two two two three three three"
    "one one one one one two two two two three three three"
    "one one one one one two two two two three three three"
    "four four four four four five five five six six six six"
    "four four four four four five five five six six six six"
    "four four four four four five five five six six six six"
    "seven seven seven seven eight eight eight eight eight eight eight eight"
    "seven seven seven seven eight eight eight eight eight eight eight eight"
    "seven seven seven seven eight eight eight eight eight eight eight eight"
    "seven seven seven seven eight eight eight eight eight eight eight eight";
}
.texas-photo-1 { grid-area: one; }
.texas-photo-2 { grid-area: two; }
.texas-photo-3 { grid-area: three; }
.texas-photo-4 { grid-area: four; }
.texas-photo-5 { grid-area: five; }
.texas-photo-6 { grid-area: six; }
.texas-photo-7 { grid-area: seven; }
.texas-photo-8 { grid-area: eight; }
.texas-image { position: relative; min-width: 0; min-height: 0; }
.texas-image .zoom-image { width: 100%; border: 1px solid #aed43435; border-radius: 14px; background: #10130e; transition: border-color .25s, box-shadow .25s; }
.texas-image .zoom-image:hover, .texas-image .zoom-image:focus-visible { border-color: #aed4348c; box-shadow: 0 0 24px #aed43418; }
.texas-bento .zoom-image { height: 100%; }
.texas-bento .zoom-image img { width: 100%; height: 100%; object-fit: cover; }
.texas-photo-1 img, .texas-photo-2 img { object-position: 50% 45%; }
.texas-photo-4 img, .texas-photo-6 img { object-position: 50% 40%; }
.texas-image-index { position: absolute; left: 13px; bottom: 13px; font-size: 10px; line-height: 1; letter-spacing: 1px; color: #eff4e8; background: #10150ed6; border: 1px solid #ffffff30; border-radius: 20px; padding: 8px 10px; pointer-events: none; }
.texas-image .zoom-image > .texas-zoom-hint { opacity: 0; width: 34px; height: 34px; display: grid; place-items: center; padding: 0; font-size: 18px; background: #10150eeb; transition: opacity .2s; }
.texas-image .zoom-image:hover > .texas-zoom-hint, .texas-image .zoom-image:focus-visible > .texas-zoom-hint { opacity: 1; }
.texas-image .sr-only { position: absolute; margin: 0; padding: 0; }
.texas-social-section { padding-top: clamp(45px, 6vw, 90px); }
.texas-square-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.texas-square .zoom-image { aspect-ratio: 1; }
.texas-square .zoom-image img { width: 100%; height: 100%; object-fit: contain; }
.texas-square .zoom-image:hover img { transform: none; }
.texas-archive { margin-top: 55px; border-block: 1px solid #aed43430; }
.texas-archive > summary { cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-size: 14px; padding: 22px 0; color: #b5c0a6; }
.texas-archive > summary > span { color: var(--lime); font-size: 22px; transition: transform .2s; }
.texas-archive[open] > summary > span { transform: rotate(45deg); }
.texas-archive > div { padding: 10px 0 30px; }
.texas-archive-image .zoom-image img { height: auto; object-fit: contain; }
@media (min-width: 1500px) {
  .texas-square-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
  .texas-bento, .texas-square-grid { gap: 12px; }
  .texas-square-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .texas-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(95px, 29vw, 190px);
    grid-template-areas:
      "one one"
      "one one"
      "two three"
      "four three"
      "five six"
      "five seven"
      "eight eight"
      "eight eight";
  }
  .texas-photo-7 .zoom-image img { object-fit: contain; }
  .texas-gallery-heading { align-items: start; }
  .texas-gallery-heading > p { max-width: 250px; font-size: 12px; }
}
@media (max-width: 600px) {
  .texas-gallery-heading { display: block; margin: 26px 0; }
  .texas-gallery-heading h2 { font-size: clamp(32px, 9vw, 44px); }
  .texas-gallery-heading > p { margin-top: 19px; max-width: none; }
  .texas-gallery-heading > p br { display: none; }
  .texas-square-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .texas-bento { gap: 10px; }
  .texas-image .zoom-image { border-radius: 10px; }
  .texas-image-index { left: 8px; bottom: 8px; font-size: 9px; padding: 6px 8px; }
  .case-page[data-project="texas"] .case-gallery > .section-top { display: block; }
  .case-page[data-project="texas"] .case-gallery > .section-top .small { display: block; margin-top: 12px; text-align: left; font-size: 11px; }
}
