/* ─── Gutenberg content sections ──────────── */
.tm-service-content{ max-width:var(--container-width); padding-top:var(--space-8); padding-bottom:var(--space-8); }
.tm-service-content > * + *{ margin-top:var(--space-2); }
.tm-service-content h2{
  font-size:var(--text-h1); margin-top:var(--space-8); margin-bottom:var(--space-5);
  max-width:var(--content-width); margin-left:0;
}
.tm-service-content h3{
  font-size:var(--text-h2); margin-top:var(--space-7); margin-bottom:var(--space-4);
  max-width:var(--content-width); margin-left:0;
}
.tm-service-content h4{
  font-size:var(--text-h3); margin-top:var(--space-6); margin-bottom:var(--space-3);
  max-width:var(--content-width); margin-left:0;
}
.tm-service-content p{
  margin-bottom:var(--space-4); line-height:1.7;
  max-width:var(--content-width); margin-left:0;
}
@media (max-width:1279px){
  .tm-service-content h2,
  .tm-service-content h3,
  .tm-service-content h4,
  .tm-service-content p{
    max-width:none;
  }
}
.tm-service-content a:not(.wp-block-button__link){ color:var(--color-primary); }
.tm-service-content a:not(.wp-block-button__link):hover{ color:var(--color-primary-hover); }
/* Columns / cards */
.tm-service-content .wp-block-columns{ gap:var(--space-5); margin:var(--space-6) 0; }
.tm-service-content .wp-block-column{
  background:var(--color-surface); border:none;
  border-radius:var(--radius-md); padding:var(--space-5);
  box-shadow:0 2px 8px rgba(26,26,26,.06);
}
/* Tables */
.tm-service-content .wp-block-table{ margin:var(--space-6) 0; }
.tm-service-content .wp-block-table table{ width:100%; border-collapse:collapse; }
.tm-service-content .wp-block-table td,
.tm-service-content .wp-block-table th{
  padding:var(--space-3) var(--space-4); text-align:left; border:1px solid var(--color-border);
}
.tm-service-content .wp-block-table th{
  background:var(--color-primary); color:var(--color-surface-alt); font-weight:600; font-size:var(--text-body-sm);
}
.tm-service-content .wp-block-table tr:nth-child(even) td{ background:var(--color-surface); }
/* Numbered process */
.tm-service-content ol.wp-block-list{ counter-reset:step; list-style:none; padding:0; margin:var(--space-6) 0; }
.tm-service-content ol.wp-block-list > li{
  counter-increment:step; padding:var(--space-4) var(--space-5) var(--space-4) 56px;
  position:relative; background:var(--color-surface); border:none;
  border-radius:var(--radius-md); margin-bottom:var(--space-3);
  box-shadow:0 2px 8px rgba(26,26,26,.06);
}
.tm-service-content ol.wp-block-list > li::before{
  content:counter(step); position:absolute; left:var(--space-3); top:50%; transform:translateY(-50%);
  width:32px; height:32px; display:flex; align-items:center; justify-content:center;
  background:var(--color-primary); color:var(--color-surface-alt); font-weight:700; font-size:var(--text-body-sm);
  border-radius:50%;
}
/* FAQ */
.tm-service-content details{ margin:var(--space-3) 0; border:none; border-radius:var(--radius-md); overflow:hidden; box-shadow:0 2px 8px rgba(26,26,26,.06); }
.tm-service-content details summary{
  padding:var(--space-4) var(--space-5); cursor:pointer; font-weight:600;
  background:var(--color-surface); list-style:none; display:flex; align-items:center; justify-content:space-between;
}
.tm-service-content details summary::-webkit-details-marker{ display:none; }
.tm-service-content details summary::after{
  content:'+'; font-size:20px; font-weight:400; color:var(--color-primary); transition:transform .25s;
}
.tm-service-content details[open] summary::after{ content:'−'; }
.tm-service-content details .tm-faq-answer{ padding:var(--space-4) var(--space-5); padding-top:0; }
.tm-service-content .tm-faq-item{ margin:var(--space-3) 0; border:none; border-radius:var(--radius-md); overflow:hidden; box-shadow:0 2px 8px rgba(26,26,26,.06); }
.tm-service-content .tm-faq-item h4{ margin:0; padding:var(--space-4) var(--space-5); background:var(--color-surface); font-size:var(--text-body); font-weight:600; }
.tm-service-content .tm-faq-item > p{ padding:0 var(--space-5) var(--space-4); margin:0; }
/* Buttons */
.tm-service-content .wp-block-buttons{ margin:var(--space-5) 0; gap:var(--space-3); }
.tm-service-content .wp-block-button .wp-block-button__link{
  background:var(--color-primary); color:var(--color-surface-alt); font-size:var(--text-body); font-weight:600;
  padding:var(--space-3) var(--space-6); border-radius:var(--radius-sm); text-decoration:none;
  transition:background .18s;
}
.tm-service-content .wp-block-button .wp-block-button__link:hover{ background:var(--color-primary-hover); text-decoration:none; }
/* CTA block */
.tm-service-content .wp-block-group.cta-block{
  background:var(--color-ink); color:var(--color-surface-alt); padding:var(--space-7) var(--space-6);
  border-radius:var(--radius-md); margin:var(--space-7) 0; text-align:center;
}
.tm-service-content .wp-block-group.cta-block h2,
.tm-service-content .wp-block-group.cta-block h3{ color:var(--color-surface-alt); border-left:none; padding-left:0; margin-top:0; font-size:var(--text-h1); }
.tm-service-content .wp-block-group.cta-block p{ color:rgba(255,255,255,.8); }
.tm-service-content .wp-block-group.cta-block .wp-block-button .wp-block-button__link{
  background:var(--color-brand-to); color:var(--color-ink); font-weight:700; font-size:var(--text-body-lg); height:56px; padding:0 var(--space-7); border-radius:var(--radius-pill);
}
.tm-service-content .wp-block-group.cta-block .wp-block-button .wp-block-button__link:hover{ background:var(--color-brand-from); }
@media (max-width:767px){
  .tm-service-content .wp-block-columns{ flex-wrap:wrap; }
  .tm-service-content ol.wp-block-list > li{ padding-left:48px; }
}
/* Section backgrounds */
.tm-service-content .wp-block-group:nth-of-type(even){
  position:relative;
  z-index:0;
  padding:var(--space-7) 0;
  margin:var(--space-6) 0;
}
.tm-service-content .wp-block-group:nth-of-type(even)::before{
  content:'';
  position:absolute;
  top:0; bottom:0;
  left:calc(-50vw + 50%);
  width:100vw;
  background:var(--color-surface-alt);
  z-index:-1;
}

/* ─── Front page hero (cover block) ──────── */
.tm-front-content .wp-block-cover{
  min-height:clamp(320px, 60vh, 560px);
  display:flex;
  align-items:center;
}
.tm-front-content .wp-block-cover .wp-block-cover__inner-container{
  max-width:var(--container-width);
  margin:0 auto;
  padding:var(--space-8) var(--space-5);
  width:100%;
}
.tm-front-content .wp-block-cover .is-layout-constrained{ max-width:none; }
.tm-front-content .wp-block-cover h1,
.tm-front-content .wp-block-cover h2.wp-block-heading{
  color:var(--color-surface-alt);
  font-size:var(--text-display);
  font-weight:800;
  text-wrap:pretty;
  max-width:65ch;
  margin-bottom:var(--space-3);
}
.tm-front-content .wp-block-cover p{
  color:rgba(255,255,255,.9);
  font-size:var(--text-body-lg);
  line-height:1.7;
  max-width:65ch;
  margin-bottom:var(--space-5);
}
.tm-front-content .wp-block-cover .wp-block-button__link{
  background:var(--gradient-brand); color:var(--color-ink);
  font-weight:700;
  font-size:var(--text-body-lg);
  height:56px;
  padding:0 var(--space-7);
  border-radius:var(--radius-sm);
  line-height:56px;
  border:none;
}
.tm-front-content .wp-block-cover .wp-block-button__link:hover{
  background:var(--color-brand-from);
}
