/* === BEFORE / AFTER SHARED COMPONENT === */
/* Filters bar */
.ba-filters{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin:0 auto 2rem;max-width:var(--maxw);padding:0 1rem}
.ba-chip{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:.55em 1.1em;border-radius:999px;background:#fff;border:1px solid var(--iac-line);color:var(--iac-body);cursor:pointer;transition:.2s;font-family:inherit}
.ba-chip:hover{border-color:var(--iac-primary);color:var(--iac-primary)}
.ba-chip.is-on{background:var(--iac-ink);border-color:var(--iac-ink);color:#fff}
.ba-chip span{margin-left:.4em;opacity:.6;font-weight:600}

/* Grid + cards */
.ba-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;padding:0 1rem}
.ba-card{position:relative;border-radius:14px;overflow:hidden;cursor:pointer;background:#1c1a17;color:#fff;aspect-ratio:4/3;transition:.35s var(--ease);box-shadow:var(--shadow-sm)}
.ba-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.ba-card__split{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr}
.ba-card__half{background-size:cover;background-position:center;position:relative}
.ba-card__half::after{content:attr(data-l);position:absolute;top:.7rem;left:.7rem;background:rgba(15,12,8,.78);color:#fff;font-size:.6rem;font-weight:800;letter-spacing:.22em;padding:.3em .7em;border-radius:4px;backdrop-filter:blur(4px)}
.ba-card__half.before::after{background:rgba(255,59,48,.92)}
.ba-card__half.after::after{background:rgba(96,208,118,.92)}
.ba-card__divider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.4);z-index:2;pointer-events:none}
.ba-card__divider::before{content:"\2194";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:#fff;color:var(--iac-ink);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.ba-card__info{position:absolute;left:0;right:0;bottom:0;padding:1rem 1.1rem .9rem;background:linear-gradient(180deg,transparent,rgba(15,12,8,.94));z-index:3}
.ba-card__svc{font-size:.6rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#ed7637;margin-bottom:.25rem}
.ba-card__title{font-family:"Cormorant Garamond",serif;font-size:1.15rem;font-weight:600;color:#fff;line-height:1.1;margin-bottom:.2rem}
.ba-card__meta{font-size:.66rem;color:#dcd5c8;display:flex;gap:.5rem;flex-wrap:wrap}
.ba-card__meta b{color:#fff;font-weight:700}
.ba-card__ai{position:absolute;top:.7rem;right:.7rem;background:rgba(15,12,8,.78);color:#ed7637;font-size:.55rem;font-weight:800;letter-spacing:.16em;padding:.25em .55em;border-radius:4px;text-transform:uppercase;z-index:3;backdrop-filter:blur(4px)}

/* === BA LIGHTBOX === */
.balb{position:fixed;inset:0;background:rgba(8,6,4,.97);z-index:9998;display:none;align-items:center;justify-content:center;padding:1rem;flex-direction:column;backdrop-filter:blur(8px)}
.balb.is-on{display:flex}
.balb__close{position:absolute;top:1rem;right:1.4rem;background:none;border:none;color:#fff;font-size:2.2rem;cursor:pointer;line-height:1;padding:.4rem;opacity:.75;z-index:4;transition:.2s}
.balb__close:hover{opacity:1;transform:rotate(90deg)}
.balb__head{text-align:center;color:#fff;max-width:900px;margin-bottom:1rem;padding:0 1rem}
.balb__svc{font-size:.66rem;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:#ed7637;margin-bottom:.3rem;display:block}
.balb__head h3{font-family:"Cormorant Garamond",serif;font-size:clamp(1.5rem,3vw,2.1rem);color:#fff;font-weight:500;line-height:1.1;margin-bottom:.3rem}
.balb__meta{font-size:.78rem;color:#a39c8e}
.balb__toggle{display:inline-flex;gap:.3rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:.3rem;border-radius:999px;margin-bottom:1rem}
.balb__toggle button{background:none;border:none;color:#dcd5c8;font-family:inherit;font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;padding:.6em 1.2em;border-radius:999px;cursor:pointer;transition:.2s}
.balb__toggle button.is-on{background:#ed7637;color:#1c1a17}
.balb__toggle button:not(.is-on):hover{color:#fff}
.balb__stage{position:relative;width:100%;max-width:1100px;flex:1;display:flex;align-items:center;justify-content:center;min-height:0;margin-bottom:.8rem}
.balb__imgwrap{position:relative;display:inline-flex;align-items:center;justify-content:center;max-height:65vh}
.balb__img{display:block;max-width:100%;max-height:65vh;width:auto;border-radius:8px;box-shadow:0 24px 60px rgba(0,0,0,.6);transition:opacity .3s}
.balb__role{position:absolute;top:.8rem;left:.8rem;background:rgba(255,59,48,.92);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.22em;padding:.4em .9em;border-radius:5px;z-index:2;pointer-events:none}
.balb__role.a{background:rgba(96,208,118,.92)}
.balb__nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;width:50px;height:50px;border-radius:50%;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;backdrop-filter:blur(8px);z-index:3;font-family:inherit}
.balb__nav:hover{background:#ed7637;border-color:#ed7637}
.balb__nav.prev{left:1rem}
.balb__nav.next{right:1rem}
.balb__counter{color:#a39c8e;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;text-align:center;margin-bottom:.4rem}
.balb__counter b{color:#ed7637;margin:0 .3em}
.balb__thumbs{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;max-width:760px;margin:0 auto}
.balb__thumb{width:56px;height:56px;border-radius:5px;background-size:cover;background-position:center;cursor:pointer;opacity:.45;transition:.2s;border:2px solid transparent}
.balb__thumb:hover,.balb__thumb.is-on{opacity:1;border-color:#ed7637}

@media(max-width:1024px){.ba-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ba-grid{grid-template-columns:1fr}.balb__nav{width:40px;height:40px;font-size:1rem}}
