.redesign-service .hero h1 {
  max-width: 1000px;
  font-size: clamp(42px, 5.2vw, 76px);
  overflow-wrap: break-word;
  hyphens: auto;
}

.redesign-service h2 {
  font-size: clamp(28px, 2.65vw, 38px);
  line-height: 1.08;
}

.redesign-service h3 { font-size: clamp(19px, 1.7vw, 24px); }
.redesign-service h4 { font-size: clamp(17px, 1.35vw, 20px); }
.redesign-service h2, .redesign-service h3, .redesign-service h4 {
  overflow-wrap: anywhere;
  hyphens: auto;
}
.redesign-service .split-heading > *,
.redesign-service .documents-layout > *,
.redesign-service .composition-layout > *,
.redesign-service .price-layout > *,
.redesign-service .faq-layout > * { min-width: 0; }

.redesign-service .result-visual {
  min-height: 420px;
  margin: 0;
  overflow: hidden;
  border-radius: 26px;
  background: #e8e8e6;
}
.redesign-service .result-visual img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  display: block;
  object-fit: cover;
}

.redesign-service .program-more-input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.redesign-service .program-grid .program-card:nth-child(n+7) { display: none; }
.redesign-service .program-more-input:checked + .program-grid .program-card:nth-child(n+7) { display: flex; }
.redesign-service .program-more-button { display: none; width: max-content; margin: 28px auto 0; }
.redesign-service .program-grid:has(.program-card:nth-child(7)) + .program-more-button { display: inline-flex; margin-left: 50%; transform: translateX(-50%); }
.redesign-service .program-more-button span:last-child { display: none; }
.redesign-service .program-more-input:checked ~ .program-more-button span:first-child { display: none; }
.redesign-service .program-more-input:checked ~ .program-more-button span:last-child { display: inline; }
.redesign-service .program-more-input:focus-visible ~ .program-more-button { outline: 3px solid var(--ink); outline-offset: 3px; }

.redesign-service .program-card.no-media .program-copy {
  padding-top: 96px;
}

@media (max-width: 768px) {
  .redesign-service .hero h1 { font-size: clamp(34px, 10vw, 54px); }
  .redesign-service h2 { font-size: 28px; }
  .redesign-service h3 { font-size: 19px; }
  .redesign-service .result-visual, .redesign-service .result-visual img { min-height: 0; }
  .redesign-service .result-visual img { aspect-ratio: 4 / 3; }
  .redesign-service .program-card.no-media .program-copy { padding-top: 64px; }
}

@media (max-width: 340px) {
  .redesign-service .hero h1 { font-size: 27px; }
  .redesign-service h2 { font-size: 26px; }
}

/* mobile heading hierarchy final5 */
@media (max-width: 340px) {
  .redesign-service h2 { font-size: 22px; }
  .redesign-service h3 { font-size: 18px; }
  .redesign-service h4 { font-size: 16px; }
}

/* regional service h1 fit 20260806 */
.redesign-service .hero h1 { font-size: clamp(32px, 5vw, 64px); line-height: 1; }
