#services {
  background: var(--deep);
  padding: 110px 64px;
  position: relative;
  min-height: 100vh;
  display: flex; flex-direction: column; justify-content: center;
  isolation: isolate;
}
#services::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0;
  height: 1px; background: linear-gradient(to right, transparent, var(--gold-dark), transparent);
}
.services-intro { max-width: 640px; margin-bottom: 68px; }
.services-intro h2 { font-family: var(--serif); font-size: 42px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--cream); margin-bottom: 18px; }
.services-intro h2 em { display: block; font-family: var(--italic); font-style: italic; font-weight: 300; color: var(--gold-pale); font-size: 30px; text-transform: none; margin-bottom: 4px; }
.services-intro p { font-family: var(--italic); font-size: 18px; font-weight: 300; color: var(--sub); line-height: 1.85; }
.services-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; }
.svc-card {
  background: rgba(8,6,10,0.5); border: 0.5px solid rgba(200,134,10,0.15);
  padding: 40px 34px; position: relative; overflow: hidden;
  transition: border-color .3s, background .3s; cursor: none;
}
.svc-card::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0;
  height: 2px; background: var(--gold-bright);
  transform: scaleX(0); transform-origin: left; transition: transform .4s;
}
.svc-card:hover { border-color: rgba(200,134,10,0.4); background: rgba(42,30,10,0.25); }
.svc-card:hover::after { transform: scaleX(1); }
.svc-num {
    font-family: var(--serif);
    font-size: 36px;
    font-weight: 700;
    color: var(--gold-pale);
    margin-bottom: 20px;
    display: block;
    letter-spacing: 0.04em;
}
.svc-title { font-family: var(--sans); font-size: 12px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-pale); margin-bottom: 14px; }
.svc-body { font-family: var(--italic); font-size: 16px; font-weight: 300; color: var(--cream); line-height: 1.8; margin-bottom: 22px; }
.svc-list { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.svc-list li {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--sans); font-size: 12px; font-weight: 300;
  letter-spacing: 0.1em; color: var(--cream);
}
.svc-list li::before { content: ''; width: 4px; height: 4px; background: var(--gold); transform: rotate(45deg); flex-shrink: 0; }

/* Responsive */
@media (max-width: 1024px) {
  #services { padding: 70px 32px; }
  .services-grid { grid-template-columns: 1fr; gap: 2px; }
}

/* Light theme */
body.light-theme #services { background: #EDDAB0; }
body.light-theme .services-intro h2 { color: #1F0A02; }
body.light-theme .services-intro h2 em { color: #A4111B; }
body.light-theme .services-intro p { color: rgba(31,10,2,0.78); }
body.light-theme .svc-card { background: #FFFFFF; border-color: rgba(140,89,8,0.25); box-shadow: 0 4px 16px rgba(31,10,2,0.06); }
body.light-theme .svc-card:hover { background: #FFFAF0; border-color: #B85C00; box-shadow: 0 8px 24px rgba(31,10,2,0.1); }
body.light-theme .svc-card::after { background: #B85C00; }
body.light-theme .svc-num { color: rgba(184,92,0,0.18); }
body.light-theme .svc-title { color: #A4111B; }
body.light-theme .svc-body { color: rgba(31,10,2,0.78); }
body.light-theme .svc-list li { color: rgba(31,10,2,0.65); }
body.light-theme .svc-list li::before { background: #B85C00; }
