/* ===== SERVICES PAGE ===== */

/* page header (banner) */
.svc-hero{
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--line);
  padding:88px 0 0;
  background:
    radial-gradient(ellipse 900px 500px at 80% 20%,rgba(47,125,255,.10),transparent 60%),
    var(--bg);
}
.svc-hero .crumb{
  font-family:ui-monospace,monospace;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mute-2);margin-bottom:22px;
}
.svc-hero .crumb a:hover{color:var(--accent)}
.svc-hero .crumb .sep{margin:0 8px}
.svc-hero .crumb .here{color:var(--accent)}
.svc-hero h1{
  margin:0 0 18px;
  font-size:clamp(2.4rem,4.6vw,3.8rem);
  font-weight:800;letter-spacing:-.025em;line-height:1.02;
}
.svc-hero h1 .accent{color:var(--accent)}
.svc-hero .lead{
  color:var(--mute);font-size:17px;line-height:1.7;
  margin:0 0 36px;max-width:680px;
}

/* tabs — sticky jump nav */
.svc-tabs{
  border-top:1px solid var(--line);
  position:sticky;top:78px;z-index:40;
  background:rgba(5,5,7,.92);backdrop-filter:blur(12px);
  margin-top:48px;
}
.svc-tabs-inner{
  display:flex;gap:0;overflow-x:auto;scrollbar-width:none;
}
.svc-tabs-inner::-webkit-scrollbar{display:none}
.svc-tab{
  display:inline-flex;flex-direction:column;align-items:flex-start;
  gap:4px;padding:18px 22px;
  border-right:1px solid var(--line);
  font-size:13px;font-weight:600;letter-spacing:-.005em;
  color:var(--mute);transition:color .15s,background .15s;
  white-space:nowrap;flex-shrink:0;
}
.svc-tab:first-child{border-left:1px solid var(--line)}
.svc-tab:hover{color:#fff;background:var(--bg-2)}
.svc-tab .ix{
  font-family:ui-monospace,monospace;font-size:10px;
  letter-spacing:.18em;color:var(--accent);font-weight:500;
}

/* a service block */
.svc-block{
  padding-block:96px;border-bottom:1px solid var(--line);
  scroll-margin-top:160px;
}
.svc-block:nth-child(even){background:var(--bg-2)}
.svc-block-grid{
  display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:start;
}
.svc-block-copy .ix{
  font-family:ui-monospace,monospace;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mute-2);margin-bottom:14px;
}
.svc-block-copy .ix .ac{color:var(--accent)}
.svc-block-copy h2{
  margin:0 0 14px;
  font-size:clamp(2rem,3.4vw,2.6rem);
  font-weight:700;letter-spacing:-.025em;line-height:1.05;
}
.svc-block-copy h2 .accent{color:var(--accent)}
.svc-block-copy .pitch{
  color:var(--mute);font-size:16px;line-height:1.75;margin:0 0 28px;
}
.svc-block-meta{
  display:grid;grid-template-columns:repeat(2,1fr);gap:0;
  border:1px solid var(--line);border-radius:10px;overflow:hidden;
  margin-bottom:28px;
}
.svc-block-meta > div{padding:18px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.svc-block-meta > div:nth-child(2n){border-right:0}
.svc-block-meta > div:nth-child(n+3){border-bottom:0}
.svc-block-meta .lbl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:600;margin-bottom:6px}
.svc-block-meta .val{font-size:16px;font-weight:600;color:#fff;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.svc-block-meta .val .ac{color:var(--accent)}
.svc-block-meta .val small{font-weight:400;color:var(--mute);font-size:11px;letter-spacing:.06em}

.svc-includes{
  list-style:none;padding:0;margin:0 0 28px;
  display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;
}
.svc-includes li{
  display:flex;gap:10px;font-size:14px;color:#dadcdf;line-height:1.5;
  padding:6px 0;border-bottom:1px solid var(--line);
}
.svc-includes li::before{
  content:"";flex-shrink:0;width:14px;height:14px;border-radius:50%;
  background:rgba(47,125,255,.15);
  background-image:linear-gradient(135deg,transparent 38%,var(--accent) 38%,var(--accent) 60%,transparent 60%);
  border:1px solid rgba(47,125,255,.4);
  margin-top:3px;
}

.svc-block-ctas{display:flex;gap:10px;flex-wrap:wrap}

/* image side: before/after */
.svc-ba{
  display:grid;grid-template-rows:1fr 1fr;gap:14px;
  position:sticky;top:160px;
}
.svc-ba-cell{
  position:relative;aspect-ratio:16/10;
  background:var(--bg-3);border:1px solid var(--line);
  border-radius:12px;overflow:hidden;
}
.svc-ba-cell img.img-placeholder{width:100%;height:100%;display:block}
.svc-ba-cell .ba-tag{
  position:absolute;top:14px;left:14px;
  background:rgba(0,0,0,.7);backdrop-filter:blur(6px);
  border:1px solid var(--line-2);
  padding:6px 12px;border-radius:6px;
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
}
.svc-ba-cell.before .ba-tag{color:var(--mute)}
.svc-ba-cell.after .ba-tag{color:var(--accent);border-color:rgba(47,125,255,.4)}

/* mini-FAQ per service */
.svc-faq{
  margin-top:36px;border-top:1px solid var(--line);padding-top:28px;
}
.svc-faq .lbl{
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent);font-weight:600;margin-bottom:14px;
}
.svc-faq details{
  border-bottom:1px solid var(--line);padding:14px 0;
}
.svc-faq details:last-child{border-bottom:0}
.svc-faq summary{
  cursor:pointer;font-size:15px;font-weight:500;color:#fff;
  list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;
}
.svc-faq summary::-webkit-details-marker{display:none}
.svc-faq summary::after{
  content:"+";color:var(--accent);font-size:18px;font-weight:400;
  transition:transform .2s;flex-shrink:0;
}
.svc-faq details[open] summary::after{transform:rotate(45deg)}
.svc-faq details p{
  margin:12px 0 0;color:var(--mute);font-size:14px;line-height:1.7;
}

/* RESPONSIVE */
@media (max-width:1100px){
  .svc-tabs{top:67px}
  .svc-block{padding-block:64px;scroll-margin-top:200px}
  .svc-block-grid{grid-template-columns:1fr;gap:40px}
  .svc-ba{position:static;grid-template-rows:auto auto}
  .svc-block-meta{grid-template-columns:1fr}
  .svc-block-meta > div{border-right:0;border-bottom:1px solid var(--line)!important}
  .svc-block-meta > div:last-child{border-bottom:0!important}
}
@media (max-width:600px){
  .svc-includes{grid-template-columns:1fr}
  .svc-hero{padding:48px 0 0}
  .svc-hero h1{font-size:2.2rem}
}
