/* ═══ SERVICES PAGE ═════════════════════════════════ */
.service-block { position:relative; overflow:hidden; }
.service-block + .service-block { border-top:1px solid var(--border); }
.service-block--alt { background:var(--bg-2); }

.svc-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(2.5rem,6vw,5rem);
  align-items:start;
}
.svc-grid--rev .svc-text  { order:2; }
.svc-grid--rev .svc-feats { order:1; }

.svc-text .label { margin-bottom:1rem; }
.svc-text h2 { font-size:clamp(1.8rem,2.8vw,2.6rem); margin-block:0.6rem 1.2rem; }
.svc-text p  { margin-bottom:1rem; max-width:46ch; }
.svc-text .btn { margin-top:0.5rem; }

.svc-feats { display:flex; flex-direction:column; gap:1rem; }
.feat-item {
  display:flex;
  gap:1rem;
  align-items:flex-start;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:1.2rem;
  transition:border-color 0.28s,transform 0.28s;
}
.feat-item:hover { border-color:var(--border-2); transform:translateX(4px); }
.feat-icon {
  width:42px; height:42px;
  background:var(--gold-dim);
  border-radius:var(--r-md);
  color:var(--gold);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:9px;
  flex-shrink:0;
}
.feat-icon svg { width:100%; height:100%; }
.feat-item h4 { font-size:0.95rem; margin-bottom:0.25rem; }
.feat-item p  { font-size:0.83rem; max-width:42ch; }

@media(max-width:900px){
  .svc-grid,.svc-grid--rev { grid-template-columns:1fr; }
  .svc-grid--rev .svc-text,.svc-grid--rev .svc-feats { order:unset; }
}

/* Process */
.process-row {
  display:flex;
  align-items:flex-start;
  gap:0;
}
.proc-step {
  flex:1;
  padding:1.8rem 1.2rem;
  text-align:center;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  transition:border-color 0.28s,transform 0.28s;
}
.proc-step:hover { border-color:var(--border-2); transform:translateY(-4px); }
.proc-num {
  font-family:var(--font-disp);
  font-size:0.7rem;
  font-weight:900;
  letter-spacing:0.1em;
  color:var(--gold);
  margin-bottom:0.8rem;
}
.proc-step h3 { font-size:1rem; margin-bottom:0.4rem; }
.proc-step p  { font-size:0.83rem; max-width:20ch; margin-inline:auto; }
.proc-conn {
  width:24px; height:2px;
  background:linear-gradient(to right,var(--gold),var(--sand));
  align-self:center;
  flex-shrink:0;
  opacity:0.35;
  margin-top:-6px;
}
@media(max-width:900px){
  .process-row { flex-direction:column; }
  .proc-step { width:100%; }
  .proc-conn { width:2px; height:20px; background:linear-gradient(to bottom,var(--gold),var(--sand)); align-self:center; margin-top:0; }
}

/* Quick quote CTA */
.quick-quote {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border-2);
  border-radius: var(--r-xl);
  padding: clamp(2rem, 5vw, 3.5rem);
  position: relative;
  overflow: hidden;
}
.quick-quote::before { content:''; position:absolute; top:-120px; left:-80px; width:400px; height:400px; border-radius:50%; background:radial-gradient(circle,rgba(63,143,224,.16),transparent 60%); pointer-events:none; }
.quick-quote__text { position: relative; z-index: 1; }
.quick-quote__text .label { margin-bottom: 0.8rem; }
.quick-quote__text h2 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); margin-bottom: 1rem; }
.quick-quote__text p { font-size: 0.92rem; margin-bottom: 0; max-width: 42ch; }
.quick-quote__form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background: var(--bg-3);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: clamp(1.5rem, 3vw, 2rem);
  position: relative;
  z-index: 1;
}
@media(max-width:900px) {
  .quick-quote { grid-template-columns: 1fr; }
}
