/* hero */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.2) brightness(.55);
  background-color:#0e0a0b}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,5,5,.4),rgba(8,5,5,.95))}
.hero .inner{position:relative;z-index:2;padding-bottom:8vh}
.hero .rule{width:64px;height:4px;background:var(--blood);box-shadow:0 0 18px var(--blood-glow);margin:22px 0}
.hero h1 span{color:var(--blood)}

/* services */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--line)}
.service-card{background:var(--ink-2);padding:40px 32px;transition:.25s}
.service-card:hover{background:#140d0e;transform:translateY(-4px)}
.service-card .num{font-family:var(--font-head);color:var(--blood);font-size:14px;letter-spacing:.2em}
.service-card h3{font-size:30px;margin:10px 0 12px}

/* contact */
.form-grid{display:grid;gap:18px;max-width:560px}
.field label{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:6px}
.field input,.field textarea{width:100%;background:var(--ink-2);border:1px solid var(--line);color:#fff;padding:14px;font:inherit}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--blood)}
.field .err{color:var(--blood);font-size:13px;margin-top:6px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* mobile polish */
@media(max-width:760px){
  .hero{min-height:80vh}
  .hero .inner{padding-bottom:6vh}
  .hero p.lead{font-size:15px}
  /* hero CTA buttons: full-width stacked, easy tap targets */
  .hero .inner p:last-child{display:flex;flex-direction:column;gap:10px}
  .hero .inner p:last-child .btn{margin-left:0 !important;width:100%;justify-content:center}
  .services-grid{grid-template-columns:1fr}
  .service-card{padding:28px 22px}
}

/* case detail */
.case-hero{min-height:60vh;display:flex;align-items:flex-end;position:relative;overflow:hidden}
.case-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.15) brightness(.6);background-color:#0e0a0b}
.case-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,5,5,.3),rgba(8,5,5,.92))}
.case-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:32px}
.case-gallery img{filter:grayscale(.3);transition:.3s;width:100%;height:100%;object-fit:cover}
.case-gallery img:hover{filter:none}
