.brand-case-study, .brand-case-study * { box-sizing: border-box; }
.brand-case-study { margin-top: 76px; color: #3d3833; }
.bc-heading { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-bottom: 36px; }
.bc-kicker { margin: 0 0 14px; color: #a32454; font: 10px/1.5 'IBM Plex Mono', monospace; letter-spacing: .12em; }
.brand-case-study h2 { margin: 0; font: 600 clamp(34px, 4.5vw, 56px)/1.03 'Gabarito', sans-serif; letter-spacing: -.04em; }
.brand-case-study h3 { margin: 0; font: 600 clamp(25px, 3vw, 38px)/1.06 'Gabarito', sans-serif; letter-spacing: -.035em; }
.bc-description { margin: 18px 0 0; max-width: 570px; font-size: 16px; line-height: 1.7; color: #76685f; }
.bc-logo { width: 155px; height: auto; }
.bc-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 22px 0; }
.bc-tags span { padding: 6px 10px; border: 1px solid #d9b7c4; border-radius: 100px; color: #944562; font-size: 11px; line-height: 1.3; }
.bc-editorial-grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: clamp(44px, 6vw, 80px); }
.bc-photo-stack { position: relative; max-width: 460px; margin: 0 26px 16px 0; }
.bc-main-photo { display: block; width: 100%; aspect-ratio: 4/4.6; object-fit: cover; object-position: 50% 77%; border-radius: 6px 70px 6px 6px; }
.bc-inset-photo { position: absolute; width: 37%; aspect-ratio: 3/4; object-fit: cover; right: -26px; bottom: -16px; border: 6px solid #faf7f2; border-radius: 5px; transform: rotate(6deg); box-shadow: 0 9px 24px #3d383326; }
.bc-photo-star { position: absolute; width: 30px; height: 30px; left: -12px; top: 15%; color: #df709c; }
.bc-photo-star svg, .bc-chapter-art svg, .bc-gallery-photo svg, .bc-video-symbol svg { width: 100%; height: 100%; fill: currentColor; display: block; }
.bc-editorial-copy > p:not(.bc-kicker) { margin: 18px 0 0; font-size: 15px; line-height: 1.8; color: #75675e; }
.bc-selected { margin-top: 28px; }
.bc-work-link { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid #dcd0c5; color: #3d3833; font-size: 14px; line-height: 1.3; transition: color .2s; }
.bc-work-link > span:last-child { margin-left: auto; color: #ba3568; }
.bc-index { color: #ba3568; font: 10px/1 'IBM Plex Mono', monospace; }
.bc-work-link:hover, .bc-text-link:hover { color: #c01f5d; }
.brand-case-study a:focus-visible { outline: 2px solid #a32454; outline-offset: 5px; }
.bc-chapters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.bc-chapter { min-width: 0; border: 1px solid #e3d8ce; border-radius: 22px; overflow: hidden; background: #fffdf9; }
.bc-chapter-photo { height: 250px; }
.bc-chapter-photo img { display: block; height: 100%; width: 100%; object-fit: cover; object-position: 50% 65%; }
.bc-chapter-product .bc-chapter-photo img { object-position: 50% 35%; }
.bc-chapter-copy { padding: 24px; }
.bc-chapter-copy h3 { font-size: 28px; }
.bc-chapter-copy > p:not(.bc-kicker) { font-size: 14px; line-height: 1.7; color: #76685f; margin: 15px 0 20px; }
.bc-text-link { font-size: 13px; color: #a32454; border-bottom: 1px solid #cfa3b4; padding-bottom: 4px; }
.bc-chapter .bc-work-link { font-size: 12px; gap: 8px; }
.bc-chapter-art { position: relative; display: flex; align-items: center; height: 250px; padding: 28px; background: radial-gradient(ellipse at 25% 30%, #efb9d1d9, #f6e7e9); color: #8c395a; }
.bc-chapter-art > span { font: 600 clamp(26px, 3vw, 39px)/1.06 'Gabarito', sans-serif; letter-spacing: -.04em; }
.bc-chapter-art svg { position: absolute; right: 18px; bottom: 22px; width: 25px; height: 25px; color: #d96595; }
.bc-layout-gallery { padding: 36px; border: 1px solid #e6c6d24f; border-radius: 30px; background: radial-gradient(ellipse at 15% 15%, #f2cade8c, #f6e8e842 60%, #faf7f2); }
.bc-gallery-intro { display: grid; grid-template-columns: 1fr 180px; gap: 28px; align-items: center; margin-bottom: 28px; }
.bc-gallery-intro h2 { max-width: 680px; }
.bc-gallery-photo { position: relative; transform: rotate(4deg); }
.bc-gallery-photo img { display: block; width: 100%; aspect-ratio: 4/4.3; object-fit: cover; object-position: 50% 75%; border-radius: 16px; }
.bc-gallery-photo > span { position: absolute; right: -12px; top: -13px; width: 26px; height: 26px; color: #d96595; }
.bc-gallery-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.bc-video-card { min-width: 0; position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 240px; padding: 18px; border: 1px solid #ffffffa6; border-radius: 18px; color: #693c50; transition: transform .25s, box-shadow .25s; }
.bc-video-card:hover { transform: translateY(-5px); box-shadow: 0 12px 22px #6f38521a; color: #693c50; }
.bc-video-pending:hover { transform: none; box-shadow: none; }
.bc-video-collection-footer { padding-top: 18px; }
.bc-video-collection-footer .bc-video-watch { padding-top: 0; }
.bc-video-numbers { display: flex; gap: 5px; margin-top: 10px; }
.bc-video-number { display: flex; flex: 1; min-width: 0; align-items: center; justify-content: center; height: 30px; border: 1px solid #fff7; border-radius: 100px; color: #fff5f9; font-size: 12px; line-height: 1; transition: background-color .2s; }
a.bc-video-number:hover { background: #ffffff30; color: white; }
.brand-case-study .bc-video-number:focus-visible { outline-color: #fff5f9; outline-offset: 3px; }
.bc-video-card:is(.bc-video-rose, .bc-video-blue, .bc-video-lilac) .bc-video-number { color: #693c50; border-color: #693c5066; }
.bc-video-card:is(.bc-video-rose, .bc-video-blue, .bc-video-lilac) .bc-video-number:hover { background: #ffffff70; color: #693c50; }
.brand-case-study .bc-video-card:is(.bc-video-rose, .bc-video-blue, .bc-video-lilac) .bc-video-number:focus-visible { outline-color: #a32454; }
.bc-video-number-pending { opacity: .35; border-style: dashed; }
.bc-video-top { display: flex; justify-content: space-between; font: 10px/1.3 'IBM Plex Mono', monospace; letter-spacing: .07em; }
.bc-video-label { position: relative; z-index: 1; margin-top: 40px; max-width: 150px; font: 600 clamp(21px, 2.4vw, 30px)/1.06 'Gabarito', sans-serif; letter-spacing: -.035em; }
.bc-video-watch { display: flex; justify-content: space-between; gap: 6px; padding-top: 22px; font-size: 11px; }
.bc-video-symbol { position: absolute; width: 50px; height: 50px; right: 12px; top: 48px; opacity: .16; }
.bc-video-rose { background: #edc2d3; }
.bc-video-lilac { background: #ddd2eb; }
.bc-video-blue { background: #d5e3e6; }
.bc-video-wine { background: #8d405f; color: #fff5f9; }
.bc-video-wine:hover { color: #fff5f9; }
.bc-gallery-footer { margin: 22px 0 0; color: #836b73; font-size: 13px; line-height: 1.6; }
@media (max-width: 760px) {
  .brand-case-study { margin-top: 52px; }
  .bc-heading { align-items: flex-start; margin-bottom: 28px; }
  .bc-logo { width: 85px; margin-top: 4px; }
  .bc-editorial-grid { grid-template-columns: 1fr; gap: 38px; }
  .bc-photo-stack { max-width: 380px; width: calc(100% - 26px); }
  .bc-main-photo { aspect-ratio: 4/3.7; }
  .bc-chapters { grid-template-columns: 1fr; }
  .bc-chapter-photo { height: 340px; }
  .bc-chapter-art { height: 230px; }
  .bc-chapter-art > span { font-size: 42px; }
  .bc-layout-gallery { padding: 26px 20px; }
  .bc-gallery-intro { display: block; position: relative; margin-bottom: 22px; }
  .bc-gallery-intro h2 { padding-right: 86px; font-size: 32px; }
  .bc-gallery-intro .bc-description { font-size: 14px; line-height: 1.6; margin-top: 16px; }
  .bc-gallery-intro .bc-tags { margin: 16px 0 0; }
  .bc-gallery-photo { position: absolute; top: 0; right: 0; width: 70px; margin: 0; }
  .bc-gallery-photo > span { width: 20px; height: 20px; top: -8px; right: -7px; }
  .bc-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 6px 0; }
  .bc-video-card { min-height: 215px; padding: 14px; border-radius: 16px; }
  .bc-video-label { font-size: 23px; margin-top: 28px; overflow-wrap: anywhere; }
  .bc-video-watch { font-size: 10px; }
  .bc-video-numbers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .bc-video-number { height: 36px; font-size: 12px; }
  .bc-gallery-footer { font-size: 12px; margin-top: 16px; }
  .bc-video-symbol { width: 36px; height: 36px; right: 10px; top: 42px; }
  .bc-tags span { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) { .bc-video-card { transition: none; } .bc-video-card:hover { transform: none; } }
