/* Shared empty-page styling, scoped away from the populated homepage and cases. */
.page-placeholder { --radius-card: 22px; --radius-control: 12px; --radius-media: 26px; }
.page-placeholder .split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-placeholder .split > *, .page-placeholder .section-head > * { min-width: 0; }
.page-placeholder .button, .page-placeholder .icon-link, .page-placeholder .filter-button { border-radius: var(--radius-control); }
.page-placeholder .icon-link, .page-placeholder .nav-link, .page-placeholder .filter-button { min-width: 44px; min-height: 44px; }
.page-placeholder .brand { min-height: 44px; }
.page-placeholder .nav-link { border-radius: 10px; }
.page-placeholder .nav-link[aria-current='page'] { background: var(--pearl); }
.page-placeholder .placeholder-media, .page-placeholder .map-placeholder { border-radius: var(--radius-media); }
.page-placeholder .ph-line { border-radius: 4px; }
.page-placeholder .ph-title { border-radius: 6px; }
.page-placeholder .footer-links > div { gap: 8px; }
.page-placeholder .footer-links a { display: flex; align-items: center; min-height: 44px; }
.page-placeholder .footer-social .icon-link { width: 44px; height: 44px; }
.page-placeholder .faq-list summary { min-height: 60px; }

.page-cloud .cloud-hero { border-top: 0; }
.page-cloud .cloud-infrastructure, .page-cloud .cloud-architecture, .page-cloud .cloud-closing { border-radius: var(--radius-media); }
.page-cloud .cloud-infra-core, .page-cloud .cloud-infra-racks > div, .page-cloud .cloud-arch-core, .page-cloud .cloud-arch-endpoints > div { border-radius: 16px; }
.page-cloud .cloud-architecture-map { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr); }
.page-cloud .cloud-arch-endpoints > div { min-width: 0; }
.page-cloud .cloud-arch-endpoints .ph-line { flex: 1 1 auto; }
.page-cloud .cloud-config-grid { border-radius: var(--radius-card); overflow: hidden; }
.page-cloud .cloud-step-symbol { border-radius: var(--radius-control); }

.page-hardware .equipment-card { padding: 12px 12px 0; border: 1px solid var(--line); border-radius: var(--radius-card); }
.page-hardware .equipment-card:hover { border-color: #8a9bbf; }
.page-hardware .equipment-image { border-radius: 14px; }
.page-hardware .equipment-caption { padding: 24px 12px; }
.page-hardware .catalog-note { background: var(--pearl); border: 0; border-radius: var(--radius-media); padding: 48px; margin-bottom: 72px; }
.page-hardware .equipment-dialog { border-radius: var(--radius-media); max-height: calc(100dvh - 32px); }
.page-hardware .dialog-close { width: 44px; height: 44px; top: 10px; right: 10px; }

@media (max-width: 1023px) {
  .page-placeholder .header-nav { gap: 12px; }
  .page-placeholder .nav-link { gap: 8px; }
  .page-placeholder .nav-link .ph-line { width: 28px; }
  .page-placeholder .header-cta { margin-left: 0; }
  .page-cloud .cloud-hero { gap: 32px; }
}

@media (max-width: 760px) {
  .page-placeholder { --radius-card: 18px; --radius-media: 22px; }
  .page-placeholder .frame { padding-left: 24px; padding-right: 24px; }
  .page-placeholder .site-header { display: grid; grid-template-columns: 1fr auto; height: auto; min-height: 128px; gap: 8px 20px; padding: 16px 0 8px; }
  .page-placeholder .header-nav { grid-column: 1 / -1; grid-row: 2; margin-left: 0; width: 100%; justify-content: space-between; gap: 8px; }
  .page-placeholder .nav-link { justify-content: center; padding: 12px; }
  .page-placeholder .header-cta { display: inline-flex; grid-column: 2; grid-row: 1; }
  .page-placeholder .button { width: 100%; min-height: 56px; }
  .page-placeholder .ph-title { max-width: 100%; }
  .page-cloud .cloud-architecture-map { grid-template-columns: minmax(0, 1fr); }
  .page-cloud .cloud-capability { grid-template-columns: 26px minmax(0, 1fr); }
  .page-cloud .cloud-steps li { grid-template-columns: 42px minmax(0, 1fr); }
  .page-hardware .equipment-card { padding: 8px 8px 0; }
  .page-hardware .equipment-image { border-radius: 12px; }
  .page-hardware .equipment-caption { padding: 18px 4px; }
  .page-hardware .catalog-note { padding: 28px 24px; margin-bottom: 52px; }
  .page-hardware .filter-button { min-height: 46px; }
}

@media (max-width: 380px) {
  .page-placeholder .frame { padding-left: 18px; padding-right: 18px; }
  .page-placeholder .header-nav { gap: 4px; }
  .page-placeholder .footer-content { grid-template-columns: 1fr; }
  .page-placeholder .footer-links { width: 100%; }
  .page-hardware .catalog-grid { gap: 20px 12px; }
}
