/* Printbox AI — richer homepage layer: real imagery, full service coverage, SEO content. */
.pb-home__hero-gallery {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  grid-template-rows: 190px 150px;
  gap: 10px;
  min-height: 350px;
}
.pb-home__hero-photo {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  background: #e9eff4;
  box-shadow: 0 18px 42px rgba(18,43,62,.12);
}
.pb-home__hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pb-home__hero-photo--main { grid-row: 1 / 3; }
.pb-home__hero-photo::after {
  position: absolute;
  inset: auto 0 0;
  height: 35%;
  background: linear-gradient(transparent, rgba(10,27,40,.26));
  content: '';
  pointer-events: none;
}
.pb-home__hero-caption {
  position: absolute;
  z-index: 2;
  left: 14px;
  bottom: 11px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: #263f53;
  font-size: 11px;
  font-weight: 900;
}

.pb-home__all-services {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.pb-home-mini {
  position: relative;
  min-height: 235px;
  overflow: hidden;
  border: 1px solid var(--pb-home-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 9px 27px rgba(20,42,60,.05);
  transition: transform .18s ease, box-shadow .18s ease;
}
.pb-home-mini:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 38px rgba(20,42,60,.09);
}
.pb-home-mini__media {
  height: 145px;
  overflow: hidden;
  background: #eef3f7;
}
.pb-home-mini__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .28s ease;
}
.pb-home-mini:hover .pb-home-mini__media img { transform: scale(1.025); }
.pb-home-mini__body { padding: 15px 16px 17px; }
.pb-home-mini h3 {
  margin: 0 0 5px;
  color: #213a4e;
  font-size: 17px;
  line-height: 1.2;
}
.pb-home-mini p {
  margin: 0;
  color: var(--pb-home-muted);
  font-size: 12.5px;
  line-height: 1.45;
}
.pb-home-mini > a {
  position: absolute;
  inset: 0;
  z-index: 3;
  font-size: 0;
}

.pb-home__seo {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  gap: 44px;
  align-items: start;
  padding: 38px 40px;
  border: 1px solid var(--pb-home-line);
  border-radius: 22px;
  background: linear-gradient(135deg, #f7fafc, #fff);
}
.pb-home__seo h2 {
  margin: 0 0 16px;
  color: var(--pb-home-ink);
  font-size: clamp(28px, 3.5vw, 42px);
  line-height: 1.08;
  letter-spacing: -.03em;
}
.pb-home__seo h3 {
  margin: 0 0 10px;
  color: #29445a;
  font-size: 20px;
}
.pb-home__seo p {
  margin: 0 0 14px;
  color: #52697b;
  font-size: 15px;
  line-height: 1.68;
}
.pb-home__seo p:last-child { margin-bottom: 0; }
.pb-home__seo a { color: var(--pb-home-blue) !important; font-weight: 800; }
.pb-home__seo-links {
  padding: 23px;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(20,42,60,.06);
}
.pb-home__seo-links ul { margin: 0; padding: 0; list-style: none; }
.pb-home__seo-links li { border-bottom: 1px solid #e7edf2; }
.pb-home__seo-links li:last-child { border-bottom: 0; }
.pb-home__seo-links a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  color: #29445a !important;
  font-size: 14px;
  font-weight: 800;
}
.pb-home__seo-links a::after { content: '→'; color: var(--pb-home-blue); }

.pb-home__section--tight { margin-bottom: 58px; }
.pb-home__section--seo { margin-bottom: 64px; }

@media (max-width: 1000px) {
  .pb-home__all-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pb-home__seo { grid-template-columns: 1fr; gap: 25px; }
}

@media (max-width: 900px) {
  .pb-home__hero-gallery { max-width: 620px; width: 100%; margin: 0 auto; }
}

@media (max-width: 549px) {
  .pb-home__hero-gallery {
    grid-template-columns: 1.2fr .8fr;
    grid-template-rows: 126px 106px;
    min-height: 242px;
    gap: 7px;
  }
  .pb-home__hero-photo { border-radius: 13px; }
  .pb-home__hero-caption { left: 8px; bottom: 7px; padding: 4px 7px; font-size: 9px; }
  .pb-home__all-services { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .pb-home-mini { min-height: 205px; border-radius: 14px; }
  .pb-home-mini__media { height: 116px; }
  .pb-home-mini__body { padding: 12px; }
  .pb-home-mini h3 { font-size: 15px; }
  .pb-home-mini p { font-size: 11.5px; }
  .pb-home__seo { padding: 26px 21px; border-radius: 18px; }
  .pb-home__seo p { font-size: 14px; }
}
