/* B+Creative: minimal white portfolio, yellow/grey wordmark (as on the old Divi site). */
.brand img { height: 34px; }
.site-footer .footer-logo { background: #fff; padding: 8px 12px; border-radius: 6px; box-sizing: content-box; height: 30px; }

.bp-mast { text-align: center; padding: clamp(46px, 7vw, 80px) 0 clamp(24px, 4vw, 40px); }
.bp-mast h1 { font-size: clamp(2.6rem, 6vw, 4rem); font-weight: 700; letter-spacing: -.01em; margin-bottom: .25em; color: #ffc824; }
.bp-y { color: #ffc824; }
.bp-g { color: #999; }
.bp-tag { font-size: clamp(1rem, 1.6vw, 1.2rem); color: var(--ink); margin: 0; }

.bp-grid-sec { padding: 10px 0 clamp(60px, 8vw, 96px); }
.bp-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; max-width: 1000px; margin: 0 auto; }
.bp-tile { position: relative; display: block; overflow: hidden; border-radius: 6px; background: #f2f2f2; }
.bp-tile img { width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform .4s; }
.bp-tile:hover img { transform: scale(1.06); }
.bp-cap { position: absolute; inset: auto 0 0 0; padding: 26px 12px 10px; font-size: .78rem; font-weight: 600; line-height: 1.3; color: #fff;
  background: linear-gradient(transparent, rgba(0,0,0,.72)); opacity: 0; transform: translateY(6px); transition: .25s; }
.bp-tile:hover .bp-cap, .bp-tile:focus-visible .bp-cap { opacity: 1; transform: none; }
.bp-play { position: absolute; left: 50%; top: 50%; width: 56px; height: 56px; margin: -28px 0 0 -28px; border-radius: 50%; display: grid; place-items: center;
  background: rgba(255, 200, 36, .92); color: #1a1a1a; box-shadow: 0 8px 22px -8px rgba(0,0,0,.5); transition: transform .2s; }
.bp-play svg { width: 26px; height: 26px; margin-left: 3px; }
.bp-tile:hover .bp-play { transform: scale(1.1); }
@media (max-width: 760px) { .bp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bp-cap { opacity: 1; transform: none; } }

.bp-case { padding: 0 0 clamp(60px, 8vw, 96px); }
.bp-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 1000px; margin: 0 auto; }
.bp-gallery a { display: block; overflow: hidden; border-radius: 6px; background: #f2f2f2; cursor: zoom-in; }
.bp-gallery img { width: 100%; transition: transform .35s; }
.bp-gallery a:hover img { transform: scale(1.03); }
.bp-info { text-align: center; margin-top: 34px; }
.bp-info p { margin: 0 0 .3em; color: var(--muted); }
.bp-info .bp-strong { color: var(--ink); font-weight: 700; font-size: 1.1rem; }
@media (max-width: 620px) { .bp-gallery { grid-template-columns: 1fr; } }

.bp-about .media img { max-width: 430px; margin: 0 auto; }
.btn-brand { color: #1a1a1a; }
