/* ═══════════════════════════════════════════════════════════════
   TLF service.css — Service detail page layout
   Loaded by: service-*.html
   ═══════════════════════════════════════════════════════════════ */

.service-hero {
  padding:6rem 1.5rem 3rem; text-align:center;
  max-width:720px; margin:0 auto;
}
.service-hero .back-link {
  font-size:0.78rem; color:var(--text-muted); text-decoration:none;
  text-transform:uppercase; letter-spacing:0.08em;
  margin-bottom:2rem; display:inline-block;
  font-family:var(--font-sans);
}
.service-hero .back-link:hover { color:var(--dark); }
.service-hero h1 {
  font-family:var(--font-serif); font-size:2.4rem; font-weight:300;
  color:var(--dark); letter-spacing:-0.03em;
  line-height:1.15; margin-bottom:1.25rem;
}
.service-hero .meta {
  display:flex; gap:2rem; justify-content:center;
  font-size:0.78rem; color:var(--text-muted);
  text-transform:uppercase; letter-spacing:0.08em;
  margin-bottom:1.5rem;
}
.service-hero .desc {
  color:var(--text-dim); font-size:1.05rem;
  max-width:560px; margin:0 auto; line-height:1.7;
}

/* Module cards */
.module-list { margin-top:3rem; }
.module-card {
  display:flex; gap:1.5rem; padding:2rem 0;
  border-bottom:1px solid var(--border);
  align-items:flex-start;
}
.module-card:first-child { border-top:1px solid var(--border); }
.module-num {
  font-family:var(--font-serif); font-size:2.5rem; font-weight:300;
  color:var(--text-muted); opacity:0.3;
  flex-shrink:0; width:40px; line-height:1;
}
.module-body { flex:1; }
.module-code {
  font-size:0.62rem; color:var(--text-muted);
  text-transform:uppercase; letter-spacing:0.12em;
  margin-bottom:0.25rem;
}
.module-name {
  font-family:var(--font-serif); font-size:1.1rem; font-weight:500;
  color:var(--dark); margin-bottom:0.25rem;
}
.module-weeks {
  font-size:0.75rem; color:var(--text-muted);
  margin-bottom:0.75rem; text-transform:uppercase; letter-spacing:0.06em;
}
.module-detail {
  color:var(--text-dim); font-size:0.9rem; line-height:1.65;
}

/* CTA section */
.cta-section {
  text-align:center; padding:4rem 1.5rem;
  background:var(--off-white); border-radius:4px;
  margin-top:3rem;
}
.cta-section h2 {
  font-family:var(--font-serif); font-weight:300; font-size:1.3rem;
  color:var(--dark); margin-bottom:0.75rem;
}
.cta-section p {
  color:var(--text-dim); max-width:480px;
  margin:0 auto 1.5rem; font-size:0.9rem;
}

/* Other services */
.other-services { margin-top:4rem; }
.other-services h3 {
  font-family:var(--font-serif); font-weight:300; font-size:1.3rem;
  color:var(--dark); margin-bottom:1.5rem; text-align:center;
}
.svc-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:0.75rem; }
.svc-mini-card { background:var(--off-white); padding:1.25rem; border-radius:4px; }
.svc-mini-card h4 {
  font-family:var(--font-serif); font-weight:500; font-size:0.9rem;
  color:var(--dark); margin-bottom:0.2rem;
}
.svc-mini-card .dur {
  font-size:0.7rem; color:var(--text-muted);
  text-transform:uppercase; letter-spacing:0.06em;
}
.svc-mini-card a {
  font-size:0.8rem; color:var(--dark);
  text-decoration:underline; font-weight:500;
}

@media(max-width:768px) {
  .service-hero h1 { font-size:1.8rem; }
  .service-hero .meta { flex-direction:column; gap:0.3rem; }
}
@media(max-width:480px) {
  .module-card { flex-direction:column; gap:0.75rem; }
}
