/* ---- lightbox (hire kit + service detail) ---- */
.lb{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:40px}
.lb.open{display:flex}
.lb-veil{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:lbFade .25s ease both}
.lb-box{position:relative;z-index:1;width:min(720px,100%);max-height:86vh;overflow:auto;background:#0A0A0A;border:1px solid #3E3E3E;animation:lbIn .3s cubic-bezier(.16,.8,.3,1) both}
.lb-box img.lb-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.lb-body{padding:30px 32px 34px;display:grid;gap:16px}
.lb-body .eyebrow{font-family:"Syncopate",sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#BDBDBD}
.lb-body h3{font-family:"Syncopate",sans-serif;font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;margin:0;color:#fff}
.lb-body p{margin:0;color:#DCDCDC;font-size:17px;line-height:1.65;max-width:58ch}
.lb-body ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.lb-body li{display:flex;gap:14px;align-items:baseline;color:#DCDCDC;font-size:16.5px;line-height:1.6}
.lb-body li::before{content:"";width:16px;height:1px;background:#fff;flex:none;transform:translateY(-4px)}
.lb-body .btn{justify-self:start;margin-top:6px}
.lb-close{position:absolute;top:12px;right:12px;z-index:2;width:44px;height:44px;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.55);color:#fff;font-size:18px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s}
.lb-close:hover{background:#fff;color:#000}
.lb-todo{font-size:14px;color:#A2A2A2;border-top:1px solid #262626;padding-top:14px;margin-top:4px}
@keyframes lbFade{from{opacity:0}to{opacity:1}}
@keyframes lbIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@media (max-width:700px){.lb{padding:0}.lb-box{max-height:100vh;height:100%;width:100%;border:0}.lb-body{padding:26px 24px 40px}}
@media (prefers-reduced-motion:reduce){.lb-veil,.lb-box{animation:none}}
/* light ground (weddings) */
.wed .lb-box{background:#FBF9F4;border-color:#DDD6C8}
.wed .lb-body h3{color:#171512}.wed .lb-body p,.wed .lb-body li{color:#4a453d}.wed .lb-body li::before{background:#171512}
.wed .lb-close{border-color:rgba(23,21,18,.4);background:rgba(255,255,255,.7);color:#171512}
.wed .lb-close:hover{background:#171512;color:#fff}
