/* Top page title only: keep existing additional CSS and append this block. */
body.home #anabuki-works-intro {
  box-sizing: border-box;
  margin: 0;
  padding: 40px 24px 48px;
  height: auto;
  min-height: 0;
  background: #fff;
  color: #111;
  text-align: center;
  font-family: inherit;
}
body.home #anabuki-works-intro .works-intro-eyebrow {
  margin: 0 0 14px;
  padding: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: .18em;
}
body.home #anabuki-works-intro #anabuki-works-title {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .06em;
}
body.home #anabuki-works-intro .works-intro-rule {
  width: 48px;
  height: 2px;
  margin: 20px auto 24px;
  background: #111;
}
body.home #anabuki-works-intro .works-intro-description {
  max-width: 800px;
  margin: 0 auto;
  padding: 0;
  font-size: inherit;
  line-height: 2;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 650px) {
  body.home #anabuki-works-intro { padding: 32px 20px 40px; }
  body.home #anabuki-works-intro .works-intro-eyebrow { font-size: 11px; letter-spacing: .14em; }
  body.home #anabuki-works-intro #anabuki-works-title { font-size: 22px; }
  body.home #anabuki-works-intro .works-intro-rule { width: 40px; margin: 16px auto 20px; }
}

/* Only the existing block immediately following this title. */
body.home .index_free_space:has(#anabuki-works-intro) + .index_free_space > .post_content > .link_button {
  padding-top: 0 !important;
}
body.home #anabuki-works-intro .works-intro-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  max-width: 680px;
  margin: 40px auto 0;
  padding: 0;
}
body.home #anabuki-works-intro .works-intro-actions a {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 14px 16px;
  background: #111;
  color: #fff;
  font-size: inherit;
  line-height: 1.6;
  text-decoration: none;
  border: 1px solid #111;
}
body.home #anabuki-works-intro .works-intro-actions a:hover { background: #333; }
body.home #anabuki-works-intro .works-intro-actions a:focus-visible { outline: 3px solid #1565c0; outline-offset: 4px; }
body.home #anabuki-works-intro .works-intro-external { flex-shrink: 0; font-size: 1.2em; }
@media screen and (max-width: 650px) {
  body.home #anabuki-works-intro .works-intro-actions { grid-template-columns: 1fr; gap: 12px; max-width: 360px; }
}

/* Local design introduction only. */
body.home #anabuki-local-design-project {
  box-sizing: border-box;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 88px 24px;
  background: #fff;
  color: #111;
  font-family: inherit;
}
body.home #anabuki-local-design-project .local-project-header {
  text-align: center;
}
body.home #anabuki-local-design-project .local-project-eyebrow {
  margin: 0 0 14px;
  padding: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: .18em;
}
body.home #anabuki-local-design-project #anabuki-local-design-heading {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .04em;
  text-wrap: balance;
}
body.home #anabuki-local-design-project .local-project-subtitle {
  margin: 16px 0 0;
  padding: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.9;
}
body.home #anabuki-local-design-project .local-project-rule {
  width: 48px;
  height: 2px;
  margin: 24px auto 32px;
  background: #111;
}
body.home #anabuki-local-design-project .local-project-body {
  max-width: 800px;
  margin: 0 auto;
  text-align: left;
  overflow-wrap: anywhere;
}
body.home #anabuki-local-design-project .local-project-body p {
  margin: 0 0 1.4em;
  padding: 0;
  font-size: 16px;
  line-height: 2.1;
}
body.home #anabuki-local-design-project .local-project-body p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 650px) {
  body.home #anabuki-local-design-project { padding: 80px 20px; }
  body.home #anabuki-local-design-project .local-project-eyebrow { font-size: 11px; letter-spacing: .14em; }
  body.home #anabuki-local-design-project #anabuki-local-design-heading { font-size: 22px; }
  body.home #anabuki-local-design-project .local-project-rule { width: 40px; }
  body.home #anabuki-local-design-project .local-project-body p { line-height: 2; }
}

/* Home news: white pill, black border and text. */
body.home #index_news {
  box-sizing: content-box;
  max-width: calc(100% - 42px);
  border: 1px solid #111;
  border-radius: 999px;
  background: #fff;
  color: #111;
  overflow: hidden;
}
body.home #index_news a,
body.home #index_news a:hover,
body.home #index_news a:focus {
  color: #111;
  background: #fff;
}
body.home #index_news a:focus-visible {
  outline: 2px solid #111;
  outline-offset: -5px;
  border-radius: 999px;
}
body.home .fake-carousel-controls > button[aria-controls="index_news"]:first-child {
  display: none;
}

/* Keep the header logo within the existing header height. */
#header #header_logo img.pc_logo_image {
  width: 240px;
  height: auto;
  max-width: 100%;
}
#header #header_logo img.mobile_logo_image {
  width: 165px;
  height: auto;
  max-width: 100%;
}
@media screen and (max-width: 650px) {
  #header #header_logo img.mobile_logo_image { width: 150px; }
}
@media screen and (min-width: 1051px) and (max-width: 1150px) {
  #header #header_logo img.pc_logo_image { width: 170px; }
}
