/* Homepage strategy revision. Scoped to the new hero and homepage works only. */
.spiqa-home-hero { position: relative; padding-block: 160px 48px; color: #242421; }
.spiqa-home-inner { max-inline-size: 1280px; margin-inline: auto; padding-inline: 20px; box-sizing: content-box; }
.spiqa-home-copy { font-size: clamp(30px, 2rem + 2.1vw, 50px); font-weight: 400; line-height: 1.44; letter-spacing: -.01em; }
.spiqa-home-lead { margin-block-start: 24px; font-size: 20px; line-height: 1.7; color: #4d4d47; }
.spiqa-home-company { position: absolute; inset-inline-end: 24px; inset-block-start: 180px; font-size: 12px; line-height: 18px; font-weight: 400; color: #4d4d47; white-space: nowrap; transform-origin: right top; transform: rotate(-90deg) translateY(-100%); }
.spiqa-home-services { inline-size: min(600px, 100%); margin-block-start: 40px; }
.spiqa-home-services-label { margin-block-end: 12px; font-family: Lato, sans-serif; font-size: 12px; line-height: 18px; letter-spacing: 1.5px; color: #4d4d47; }
.spiqa-home-service { display: flex; align-items: center; gap: 12px; min-block-size: 112px; padding: 10px 20px; border-block-start: 1px solid #c9c9c4; color: inherit; text-decoration: none; transition: background-color .2s ease; }
.spiqa-home-service:last-of-type { border-block-end: 1px solid #c9c9c4; }
.spiqa-home-service-icon { flex: 0 0 56px; inline-size: 56px; block-size: 56px; border-radius: 50%; object-fit: contain; }
.spiqa-home-service-text { flex: 1; min-inline-size: 0; display: flex; flex-direction: column; gap: 6px; }
.spiqa-home-service-text strong { font-size: 20px; line-height: 1.5; font-weight: 500; }
.spiqa-home-service-text > span { font-size: 16px; line-height: 25px; color: #4d4d47; }
.spiqa-home-service-arrow { flex: 0 0 20px; inline-size: 20px; block-size: 20px; }
.spiqa-home-service:focus-visible { outline: 2px solid #333; outline-offset: 3px; background-color: #ededeb; }
@media (hover: hover) { .spiqa-home-service:hover { background-color: #ededeb; } }
.spiqa-home-works .el_worksPost { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 40px; margin-block: 0; }
.spiqa-home-works .el_worksPost_item { min-inline-size: 0; max-inline-size: none; inline-size: auto; }
.spiqa-home-works .el_worksPost a { display: block; }
.spiqa-home-works .el_worksPost_thumb img { display: block; inline-size: 100%; block-size: auto; }
.spiqa-home-works .el_worksPost_copy { margin-block-start: 16px; }
.spiqa-home-works .el_worksPost_ttl { margin-block-start: 16px; }
@media (max-width: 1399px) { .spiqa-home-company { inset-inline-end: 8px; } .spiqa-home-inner { padding-inline-end: 40px; } }
@media (max-width: 1024px) {
  .spiqa-home-hero { padding-block-start: 130px; }
  .spiqa-home-copy { max-inline-size: 100%; }
  .spiqa-home-company { inset-block-start: 145px; }
  .spiqa-home-works .el_worksPost { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 24px; }
}
@media (max-width: 767px) {
  .spiqa-home-hero { padding-block: 120px 36px; }
  .spiqa-home-inner { padding-inline: 20px; }
  .spiqa-home-copy { font-size: clamp(28px, 2rem + 2.5vw, 38px); line-height: 1.55; }
  .spiqa-home-company { position: static; transform: none; white-space: normal; margin: 0 20px 20px; font-size: 12px; }
  .spiqa-home-lead { font-size: 16px; margin-block-start: 20px; }
  .spiqa-home-lead br { display: none; }
  .spiqa-home-services { margin-block-start: 28px; }
  .spiqa-home-service { padding: 16px 8px; gap: 10px; }
  .spiqa-home-service-text strong { font-size: 16px; }
  .spiqa-home-service-text > span { font-size: 14px; line-height: 1.6; }
  .spiqa-home-works .el_worksPost { grid-template-columns: minmax(0, 1fr); gap: 36px; }
}
@media (prefers-reduced-motion: reduce) { .spiqa-home-service { transition: none; } }
/* Supplemental previews never cover or intercept the service entrances. */
.spiqa-home-services { position: relative; }
.spiqa-clinic-preview { display: none; }
.spiqa-pika-follower { display: none; pointer-events: none; }
@media (hover: hover) and (pointer: fine) {
  .spiqa-clinic-preview { display: block; position: fixed; left: 0; top: 0; width: min(240px, calc(100vw - 32px)); z-index: 9998; aspect-ratio: 16 / 9; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .15s ease, visibility .15s; }
  .spiqa-clinic-preview.is-visible { opacity: 1; visibility: visible; }
  .spiqa-clinic-preview video { display: block; width: 100%; height: 100%; object-fit: cover; background: #e8e3dc; }
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .spiqa-pika-follower { display: block; position: fixed; top: 0; left: 0; width: 28px; height: 29px; z-index: 9999; opacity: 0; transition: opacity .15s ease; }
  .spiqa-pika-follower.is-visible { opacity: 1; }
  .spiqa-pika-follower svg { width: 100%; height: 100%; overflow: visible; transform-origin: center; transition: transform .2s ease; filter: drop-shadow(0 0 1px #fff); }
  .spiqa-pika-marks { opacity: 0; transition: opacity .16s ease; }
  .spiqa-pika-follower.is-active svg { transform: scale(1.25); }
  .spiqa-pika-follower.is-active .spiqa-pika-marks { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) { .spiqa-clinic-preview { transition: none; } }

/* Match the generous spacing after ABOUT US. */
.spiqa-home-works { margin-bottom: 180px; }
@media (max-width: 767px) { .spiqa-home-works { margin-bottom: 100px; } }
/* Keep a small works preview while preserving the designed 48px gap. */
@media (min-width: 768px) {
  .spiqa-home-hero {
    box-sizing: border-box;
    min-block-size: calc(100vh - 50px);
    display: flex;
    align-items: flex-end;
    padding-block: 160px 48px;
  }
  .spiqa-home-inner { inline-size: 100%; }
}


@media (min-width: 768px) {
  .spiqa-home-company {
    inset-block-start: auto;
    inset-block-end: 48px;
    transform-origin: right bottom;
    transform: rotate(-90deg) translateX(100%);
  }
}
