/* Concrete Impressions — instant-estimate pop-up styles. */
.ci-pop-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  padding:20px;background:rgba(6,6,8,.72);backdrop-filter:blur(3px);opacity:0;transition:opacity .22s ease}
.ci-pop-overlay.ci-pop-in{opacity:1}
.ci-pop{position:relative;width:100%;max-width:840px;background:#0e1013;border:1px solid rgba(255,255,255,.12);
  border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.55);
  transform:translateY(14px) scale(.985);transition:transform .24s cubic-bezier(.22,.9,.35,1)}
.ci-pop-overlay.ci-pop-in .ci-pop{transform:none}
.ci-pop:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:3;
  background:linear-gradient(90deg,#c20e1a 0 22%,rgba(255,255,255,.14) 22% 100%)}
.ci-pop-x{position:absolute;top:10px;right:12px;z-index:4;width:38px;height:38px;border-radius:50%;
  background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:24px;line-height:1;
  cursor:pointer;display:grid;place-items:center;transition:background .15s}
.ci-pop-x:hover{background:rgba(0,0,0,.75)}

.ci-pop-grid{display:grid;grid-template-columns:1fr 1fr}
.ci-pop-copy{padding:34px 30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.ci-pop-tag{font-family:var(--font-h,'Figtree',sans-serif);font-size:.68rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:#c20e1a;margin-bottom:12px}
.ci-pop-h{font-family:var(--font-h,'Figtree',sans-serif);font-weight:900;letter-spacing:-.02em;line-height:1.05;
  font-size:clamp(1.6rem,4vw,2.3rem);color:#fff;margin:0 0 12px}
.ci-pop-p{color:rgba(255,255,255,.68);line-height:1.55;font-size:.98rem;margin:0 0 22px}
.ci-pop-btn{display:inline-block;background:#c20e1a;color:#fff;text-decoration:none;font-family:var(--font-h,'Figtree',sans-serif);
  font-weight:800;font-size:.98rem;padding:15px 26px;border-radius:10px;transition:background .16s,transform .16s}
.ci-pop-btn:hover{background:#a50c16}
.ci-pop-btn:active{transform:scale(.98)}
.ci-pop-sub{margin-top:16px;font-size:.8rem;color:rgba(255,255,255,.45)}
.ci-pop-media{position:relative;min-height:100%;background:#111}
.ci-pop-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}


.ci-pop-badge{position:absolute;left:14px;bottom:14px;z-index:2;background:rgba(10,10,12,.9);
  border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:9px 14px;
  opacity:0;transform:translateY(8px);transition:opacity .4s ease 1.5s,transform .4s ease 1.5s}
.ci-pop-overlay.ci-pop-in .ci-pop-badge{opacity:1;transform:none}
.ci-pop-badge span{display:block;font-family:var(--font-h,'Figtree',sans-serif);font-size:.6rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.ci-pop-badge b{display:block;font-family:var(--font-h,'Figtree',sans-serif);font-weight:900;font-size:1.05rem;
  color:#fff;letter-spacing:-.01em;margin-top:1px}

@media (max-width:720px){
  .ci-pop-grid{grid-template-columns:1fr}
  .ci-pop-media{order:-1;height:190px;min-height:190px}
  .ci-pop-media img{position:relative}
  .ci-pop-copy{padding:24px 22px 26px}
  .ci-pop-p{font-size:.94rem;margin-bottom:18px}
  .ci-pop-btn{width:100%;text-align:center;padding:16px}
}
@media (prefers-reduced-motion:reduce){
  .ci-pop-overlay,.ci-pop{transition:none}
}
