/* Search-friendly headings and service content within the existing visual identity. */
.idea-hero .hero-art {
  margin:0 0 0 -24px;
  width:calc(100% + 36px);
  line-height:1
}
.idea-hero h1.hero-seo-heading {
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(20px,2vw,29px);
  font-weight:600!important;
  line-height:1.35;
  letter-spacing:0;
  margin:16px 0 0;
  width:auto;
  max-width:620px;
  text-shadow:0 1px 12px #0009
}
.idea-hero-content>p {
  font-size:clamp(17px,1.5vw,21px)
}
.service-content a,.intro p a,.page-intro p a {
   text-decoration:underline;
  text-underline-offset:4px
}
.service-intro h1 {
  font-size:clamp(42px,6.5vw,92px);
  max-width:1100px;
  overflow-wrap:break-word
}
.service-intro>.button {
  margin-top:26px
}
.service-content {
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(220px,1fr);
  gap:clamp(32px,7vw,100px);
  align-items:start;
  padding-top:20px
}
.service-articles {
  min-width:0
}
.service-articles article {
  margin-bottom:48px
}
.service-content h2 {
  font-size:clamp(28px,3vw,43px);
  line-height:1.15;
  margin-bottom:20px
}
.service-content p {
  line-height:1.75;
  max-width:760px
}
.service-related {
  background:#efeee5;
  padding:28px
}
.service-related h2 {
  font-size:29px
}
.service-related ul {
  padding-left:20px;
  margin:0 0 22px
}
.service-related li {
  margin:14px 0
}
.service-related p {
  font-size:15px;
  margin-top:26px
}
.service-faq details {
  border-top:1px solid var(--line);
  padding:20px 0
}
.service-faq details:last-child {
  border-bottom:1px solid var(--line)
}
.service-faq summary {
  font-weight:600;
  line-height:1.5
}
.service-faq details p {
  margin-top:16px
}
.project-info h2 {
  font-size:38px;
  line-height:1.1
}
.contact-layout h1 {
  font-size:clamp(42px,5.5vw,78px);
  overflow-wrap:break-word
}
@media(max-width:700px) {
  .service-content {
    grid-template-columns:1fr
  }
  .service-related {
    padding:24px
  }
  .service-intro h1 {
    font-size:clamp(38px,10vw,64px)
  }
  .project-info h2 {
    font-size:31px
  }
}
@media(max-width:650px) {
  .idea-hero .hero-art {
    width:calc(100% + 25px);
    margin-left:-15px
  }
  .idea-hero h1.hero-seo-heading {
    font-size:20px;
    max-width:360px
  }
  .idea-hero-content>p {
    font-size:17px
  }
}
