/* Service / location landing pages — extends case.css */
.seo-hero{
  padding-block:clamp(2.4rem,6vw,4.2rem) clamp(2.6rem,6vw,4.4rem);
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(80% 70% at 80% 0%, rgba(228,166,74,.08), transparent 55%),
    var(--ink);
}
.seo-hero .eyebrow{margin-bottom:.9rem;}
.seo-hero h1{
  font-size:clamp(2.4rem,7vw,5.2rem);
  line-height:.96;
  letter-spacing:-.04em;
  text-transform:uppercase;
  max-width:16ch;
}
.seo-hero h1 em{color:var(--brass); font-style:normal;}
.seo-lede{
  color:var(--muted);
  font-size:1.12rem;
  max-width:54ch;
  margin:1.3rem 0 1.8rem;
}
.seo-actions{display:flex; flex-wrap:wrap; align-items:center; gap:1.1rem 1.8rem;}
.seo-proof{
  margin-top:2.2rem;
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--faint);
}

.seo-section{padding-block:clamp(2.8rem,6vw,4.6rem); border-bottom:1px solid var(--line);}
.seo-section h2{
  font-size:clamp(1.8rem,4.4vw,3.1rem);
  text-transform:uppercase;
  letter-spacing:-.03em;
  margin:.4rem 0 1.1rem;
}
.seo-section .intro{color:var(--muted); max-width:62ch; margin:0 0 2rem; font-size:1.05rem;}
.seo-copy{color:var(--muted); max-width:68ch;}
.seo-copy p{margin:0 0 1.05rem;}
.seo-copy p:last-child{margin-bottom:0;}
.seo-copy a{color:var(--brass); text-decoration:underline; text-underline-offset:3px;}
.seo-copy a:hover{color:var(--brass-2);}

.svc-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.1rem;
}
@media (max-width:760px){.svc-grid{grid-template-columns:1fr;}}
.svc-card{
  display:block;
  background:var(--surface);
  border:1px solid var(--line);
  padding:1.5rem 1.45rem 1.35rem;
  transition:border-color .2s, transform .2s;
}
.svc-card:hover{border-color:var(--brass); transform:translateY(-2px);}
.svc-card h3{
  font-size:1.15rem;
  text-transform:uppercase;
  letter-spacing:-.02em;
  margin:0 0 .55rem;
}
.svc-card p{color:var(--muted); margin:0 0 1rem; font-size:.98rem;}
.svc-card .go{font-family:var(--mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--brass);}

.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem;}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.steps{grid-template-columns:1fr;}}
.step{border:1px solid var(--line); padding:1.3rem 1.2rem; background:var(--ink-2);}
.step .n{font-family:var(--mono); color:var(--brass); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase;}
.step h3{font-size:1.05rem; text-transform:uppercase; margin:.45rem 0 .5rem;}
.step p{color:var(--muted); margin:0; font-size:.95rem;}

.proof-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.9rem;
}
@media (max-width:820px){.proof-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.proof-grid{grid-template-columns:1fr;}}
.proof-tile{
  position:relative;
  display:block;
  min-height:220px;
  overflow:hidden;
  border:1px solid var(--line-2);
  background:#000 center/cover no-repeat;
}
.proof-tile::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg,transparent 30%,rgba(12,10,7,.88));
}
.proof-tile span{
  position:absolute; z-index:1; left:1rem; right:1rem; bottom:.95rem;
  font-family:var(--disp); font-weight:700; text-transform:uppercase; letter-spacing:-.02em;
}
.proof-tile small{
  display:block; font-family:var(--mono); font-weight:400; font-size:.65rem;
  letter-spacing:.14em; color:var(--brass); margin-bottom:.25rem;
}

.areas{
  display:flex; flex-wrap:wrap; gap:.55rem;
  margin-top:1.2rem;
}
.areas span{
  border:1px solid var(--line-2);
  padding:.4rem .7rem;
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}

.faq{display:grid; gap:.7rem; max-width:760px;}
.faq details{
  border:1px solid var(--line);
  background:var(--ink-2);
  padding:1rem 1.15rem;
}
.faq summary{
  cursor:pointer;
  font-family:var(--disp);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:-.015em;
  list-style:none;
}
.faq summary::-webkit-details-marker{display:none;}
.faq p{color:var(--muted); margin:.75rem 0 0;}

.seo-contact{
  padding-block:clamp(3rem,7vw,5rem);
  background:var(--ink-2);
}
.seo-contact h2{text-transform:uppercase; font-size:clamp(1.8rem,4vw,3rem); margin:.35rem 0 1rem;}
.seo-contact > .wrap > p{color:var(--muted); max-width:52ch; margin:0 0 1.8rem;}
.contact-form{width:min(640px,100%); position:relative;}
.contact-form .row{display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin-bottom:.8rem;}
@media (max-width:560px){.contact-form .row{grid-template-columns:1fr;}}
.contact-form .field{display:flex; flex-direction:column; gap:.4rem; margin-bottom:.8rem;}
.contact-form .field[hidden]{display:none;}
.contact-form .row .field{margin-bottom:0;}
.contact-form label{
  font-family:var(--mono); font-size:.68rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--brass);
}
.contact-form input,.contact-form textarea,.contact-form select{
  width:100%; background:var(--surface); color:var(--text);
  border:1px solid var(--line-2); border-radius:0;
  font-family:var(--text-face); font-size:1rem; line-height:1.4;
  padding:.85rem 1rem; outline:none; transition:border-color .2s;
  -webkit-appearance:none; appearance:none;
}
.contact-form select{
  cursor:pointer; padding-right:2.6rem;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23A99C86' d='M1.2 1.2 6 6l4.8-4.8'/></svg>");
  background-repeat:no-repeat; background-position:right 1rem center; background-size:12px 8px;
}
.contact-form select option{background:var(--surface); color:var(--text);}
.contact-form textarea{min-height:8.5rem; resize:vertical;}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--brass);}
.contact-form .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.contact-form .actions{display:flex; flex-wrap:wrap; align-items:center; gap:1.2rem 1.8rem; margin-top:1.4rem;}
.contact-form .btn[disabled]{opacity:.55; cursor:wait; transform:none;}
.contact-form .status{
  min-height:1.4em; margin:1rem 0 0;
  font-family:var(--mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
}
.contact-form .status.ok{color:var(--brass);}
.contact-form .status.err{color:#e08a6a;}

.crumbs{
  font-family:var(--mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--faint); margin-bottom:1.4rem;
}
.crumbs a{color:var(--muted);}
.crumbs a:hover{color:var(--brass);}
.crumbs span{margin:0 .45rem; color:var(--line-2);}

.related{display:flex; flex-wrap:wrap; gap:.7rem 1.4rem; margin-top:1.6rem;}
.related a{font-family:var(--mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--brass);}
.related a:hover{color:var(--brass-2);}
