/* The selected homepage layout begins after the existing hero. */
.home-below-hero { --home-space: clamp(60px, 6vw, 96px); }
.home-below-hero .home-arrow {
  display: inline-block;
  flex: none;
  width: 24px;
  height: 24px;
  background: var(--red);
  mask: url("../icons/arrow-right.ffb97ef1f746.svg") center / contain no-repeat;
  vertical-align: middle;
  transition: transform var(--motion-ui) var(--motion-ease);
}
.home-below-hero a:is(:hover, :focus-visible) .home-arrow { transform: translateX(4px); }
.home-below-hero .home-chapter { padding-top: var(--home-space); }
.home-below-hero .home-chapter h2 { margin: 0; font-size: clamp(30px, 3.7vw, 56px); }
.home-below-hero .home-checks h2 { font-size: clamp(36px, 3.9vw, 60px); }
.home-below-hero .home-chapter h3 { font-family: var(--body); font-weight: 500; letter-spacing: -.025em; line-height: 1.25; }
.home-chapter-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(32px, 5vw, 80px);
  margin-bottom: 40px;
}
.home-chapter-intro > p { max-width: 44ch; margin: 4px 0 0; color: var(--muted); font-size: clamp(16px, 1.3vw, 19px); line-height: 1.6; }

.home-check-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.home-check { min-width: 0; min-height: clamp(300px, 22vw, 400px); padding: clamp(24px, 2vw, 32px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.home-check-icon { display: block; flex: none; width: 36px; height: 36px; margin-bottom: 22px; background: var(--red); mask: var(--check-icon) center / contain no-repeat; }
.home-check-icon-server { --check-icon: url("../icons/server.221b3968387a.svg"); }
.home-check-icon-mouse-pointer-2 { --check-icon: url("../icons/mouse-pointer-2.97d1ddff7d8a.svg"); }
.home-check-icon-database-backup { --check-icon: url("../icons/database-backup.5e04f39ef19e.svg"); }
.home-check-icon-link { --check-icon: url("../icons/link.428c2aab1e2c.svg"); }
.home-check h3 { margin: 0 0 16px; font-size: clamp(22px, 1.85vw, 28px); }
.home-check p { margin: 0; color: var(--muted); font-size: 18px; line-height: 1.5; }

.home-work-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 32px; }
.home-work-heading > .text-link { flex: none; gap: 12px; font-size: 16px; }
.home-work-grid { display: grid; grid-template-columns: minmax(0, 2.45fr) minmax(0, 1fr); gap: 12px; }
.home-work-cover { display: block; position: relative; min-width: 0; min-height: 560px; overflow: hidden; background: var(--surface); }
.home-work-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.home-work-rail { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); }
.home-work-link { display: block; height: 100%; padding: clamp(22px, 2.2vw, 36px); text-decoration: none; }
.home-work-featured { flex: 1; }
.home-work-kind { margin: 0 0 16px; color: var(--muted); font-size: 14px; line-height: 1.4; }
.home-work h3 { margin: 0 0 14px; font-size: clamp(26px, 2.5vw, 38px); }
.home-work-summary { margin: 0 0 20px; color: var(--muted); font-size: 16px; line-height: 1.55; }
.home-work-secondary { border-top: 1px solid var(--line); }
.home-work-secondary .home-work-link { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; padding: 16px; }
.home-work-thumbnail { grid-column: 1 / -1; aspect-ratio: 4 / 3; overflow: hidden; margin-bottom: 22px; background: var(--surface); }
.home-work-thumbnail img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.home-work-secondary h3 { grid-column: 1 / -1; font-size: clamp(24px, 2vw, 30px); }
.home-work-secondary .home-work-kind { margin-bottom: 0; }
.home-work-link:hover h3 { color: var(--red); }
.home-work-without-cover { grid-template-columns: 1fr; }
.home-work-without-cover .home-work-rail { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.home-work-without-cover .home-work-secondary { border-top: 0; border-left: 1px solid var(--line); }

.home-process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; margin: 0; list-style: none; }
.home-process-grid li { min-width: 0; padding-inline: clamp(24px, 3.5vw, 56px); }
.home-process-grid li:first-child { padding-left: 0; }
.home-process-grid li:last-child { padding-right: 0; }
.home-process-grid li + li { border-left: 1px solid var(--line); }
.home-process-grid h3 { margin: 0 0 14px; font-size: clamp(22px, 1.8vw, 28px); }
.home-process-grid p { max-width: 40ch; margin: 0; font-size: 18px; line-height: 1.5; color: var(--muted); }
.home-process-action { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 32px; }
.home-process-action .button { min-width: 360px; min-height: 72px; padding-inline: 36px; background: var(--red); color: var(--white); border: 1px solid var(--red); border-radius: 3px; font-size: 20px; }
.home-process-action .button:hover { background: #a91e22; border-color: #a91e22; }
.home-process-action .home-arrow { background: currentColor; mask-image: url("../icons/arrow-up-right.f9e1dfaf4ea2.svg"); }
.home-process-action p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.45; }

/* Supporting CMS content remains editable and follows the main journey. */
.home-supplementary { padding-block: var(--home-space); margin-top: var(--home-space); border-top: 1px solid var(--line); }
.home-supplementary > .content-block { margin-block: 0 var(--home-space); }
.home-supplementary .block-text { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 64px; }
.home-supplementary .block-text h2 { font-size: clamp(28px, 2.5vw, 40px); }
.home-supplementary .block-quote { max-width: none; margin-inline: 0; padding: 24px 0 24px 32px; border-left: 3px solid var(--red); }
.home-supplementary .block-quote blockquote { max-width: 40ch; font-size: clamp(24px, 2.2vw, 34px); }
.home-supplementary .block-cards { gap: 0; border-top: 1px solid var(--line); }
.home-supplementary .block-card { min-height: 0; padding: 32px; }
.home-supplementary .block-card h3 { font-family: var(--body); font-size: 24px; }
.home-supplementary .card-number { display: none; }
.home-supplementary .block-faq { display: grid; grid-template-columns: 1fr 1.5fr; align-items: start; gap: 64px; border: 0; }
.home-supplementary .block-faq h2 { font-size: clamp(28px, 2.5vw, 40px); }
.home-supplementary .faq-list { width: 100%; max-width: none; }

@media (max-width: 1200px) {
  .home-check-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-check { aspect-ratio: auto; min-height: 280px; }
  .home-work-grid { grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); }
  .home-work-heading { align-items: start; }
  .home-work-heading > .text-link { margin-top: 8px; }
  .home-process-grid li { padding-inline: 24px; }
}
@media (max-width: 900px) {
  .home-below-hero { --home-space: 56px; }
  .home-chapter-intro { grid-template-columns: 1fr; gap: 20px; margin-bottom: 28px; }
  .home-chapter-intro > p { margin: 0; }
  .home-below-hero .home-chapter h2 { font-size: clamp(28px, 6vw, 38px); text-wrap: auto; }
  .home-check { padding: 24px; }
  .home-work-heading { flex-direction: column; gap: 16px; margin-bottom: 24px; }
  .home-work-heading > .text-link { margin: 0; }
  .home-work-grid { grid-template-columns: 1fr; gap: 0; }
  .home-work-cover { min-height: 0; aspect-ratio: 4 / 3; }
  .home-work-cover img { position: static; }
  .home-work-link { padding: 24px; }
  .home-work-secondary .home-work-link { padding: 24px; }
  .home-work-thumbnail { aspect-ratio: 16 / 10; }
  .home-work-without-cover .home-work-secondary { border-left: 0; border-top: 1px solid var(--line); }
  .home-process-grid { grid-template-columns: 1fr; }
  .home-process-grid li, .home-process-grid li:first-child, .home-process-grid li:last-child { padding: 24px 0; }
  .home-process-grid li:first-child { padding-top: 0; }
  .home-process-grid li:last-child { padding-bottom: 0; }
  .home-process-grid li + li { border-left: 0; border-top: 1px solid var(--line); }
  .home-process-action { gap: 18px; }
  .home-process-action .button { min-width: 0; padding-inline: 24px; font-size: 18px; }
  .home-supplementary .block-text, .home-supplementary .block-faq { grid-template-columns: 1fr; gap: 24px; }
  .home-supplementary .block-cards { grid-template-columns: 1fr; }
  .home-supplementary .block-card { padding: 24px 0; }
}
@media (max-width: 480px) {
  .home-check-grid { grid-template-columns: 1fr; }
  .home-check { min-height: 320px; aspect-ratio: auto; display: flex; flex-direction: column; justify-content: center; }
  .home-check h3 { font-size: 24px; }
  .home-check-icon { width: 32px; height: 32px; margin-bottom: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-below-hero .home-arrow { transition: none; }
}
