/*
 * Unified title alignment for ASKA detail pages.
 *
 * Desktop titles share the same 1200px content rail and sit on a common
 * horizontal line below the fixed header. Each hero keeps its own imagery,
 * height, copy and typography.
 */

/* Plain page, archive and project title areas. */
body:not(.home) .page-hero {
  padding-top: 0;
  text-align: left;
}

/* Home process: redraw the aftercare icon as a clear check-circle with an
   upward-right completion arrow. */
#process .process-step:nth-child(5) .process-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23765946' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 8.25a6.75 6.75 0 1 1-3.35-2.3'/%3E%3Cpath d='m8.35 12.15 2.35 2.35 4.45-4.45'/%3E%3Cpath d='M17.35 4.35h2.2v2.2'/%3E%3Cpath d='m19.55 4.35-2.85 2.85'/%3E%3C/svg%3E") !important;
}

body:not(.home) .page-hero > .aska-container {
  padding-top: 168px;
}

body.single-project .project-title-hero > .aska-container {
  padding-top: 127px;
}

/* Full-image title areas. */
.greeting-hero,
.precut-banner,
.timber-hero,
.usb-hero,
.hanok-hero {
  align-items: flex-start !important;
}

.greeting-hero__inner {
  padding-top: 116px !important;
}

.precut-banner-inner {
  padding-top: 128px !important;
  padding-bottom: 0 !important;
  margin-block: 0 !important;
}

.timber-hero-inner {
  padding-top: 128px !important;
  margin-block: 0 !important;
}

.timber-hero-copy {
  padding-bottom: 0 !important;
}

.usb-hero-inner {
  padding-top: 128px !important;
  margin-block: 0 !important;
}

.hanok-hero__inner {
  padding-top: 110px !important;
}

/* Keep product/detail hero titles on the same typographic scale. */
.usb-hero h1,
.hanok-hero h1 {
  margin: 0 0 20px;
  font-size: 56px !important;
  line-height: 1.15 !important;
  letter-spacing: -.04em !important;
}

/* Building-library pages use inline page styles, so the override is explicit. */
.aska-library-page .library-shell {
  width: min(1200px, calc(100% - 64px)) !important;
}

.aska-library-page .library-hero {
  padding: 128px 0 72px !important;
}

.aska-library-page .library-hero-grid {
  align-items: start !important;
}

/* Portfolio archive hero. */
body.post-type-archive-project .page-hero {
  min-height: 510px;
  padding: 0;
  background-image:
    linear-gradient(90deg, rgba(48, 31, 22, .8), rgba(48, 31, 22, .46)),
    url('../images/aska-main-hero.jpg');
  background-position: center 48%;
  background-size: cover;
  color: #fff;
}

body.post-type-archive-project .page-hero > .aska-container {
  padding-top: 168px;
}

body.post-type-archive-project .page-hero h1 {
  margin: 0 0 20px;
  color: #fff;
  font-size: 56px;
  line-height: 1.15;
  letter-spacing: -.04em;
}

body.post-type-archive-project .page-hero p {
  max-width: 720px;
  margin: 0;
  color: rgba(255, 255, 255, .86);
  font-size: 19px;
  line-height: 1.8;
}

@media (max-width: 680px) {
  .greeting-shell,
  .hanok-shell,
  .aska-library-page .library-shell {
    width: min(100% - 40px, 1200px) !important;
  }

  body:not(.home) .page-hero > .aska-container {
    padding-top: 130px;
  }

  body.single-project .project-title-hero > .aska-container {
    padding-top: 89px;
  }

  .greeting-hero__inner {
    padding-top: 84px !important;
  }

  .precut-banner-inner {
    padding-top: 96px !important;
  }

  .timber-hero-inner {
    padding-top: 92px !important;
  }

  .usb-hero-inner {
    padding-top: 96px !important;
  }

  .hanok-hero__inner {
    padding-top: 42px !important;
  }

  .usb-hero h1,
  .hanok-hero h1 {
    font-size: 42px !important;
  }

  .aska-library-page .library-hero {
    padding: 96px 0 68px !important;
  }

  body.post-type-archive-project .page-hero {
    min-height: 420px;
  }

  body.post-type-archive-project .page-hero > .aska-container {
    padding-top: 130px;
  }

  body.post-type-archive-project .page-hero h1 {
    font-size: 42px;
  }

  body.post-type-archive-project .page-hero p {
    font-size: 16px;
  }
}
