/* News/Soro layout and article safeguards — 2026-07-31. */
.sg-soro-section {
  padding: 82px 0;
  background: #fff;
}

.sg-soro-shell {
  min-height: 280px;
  padding: 26px;
  border: 1px solid var(--sg-line, #dbe5ee);
  border-radius: 30px;
  background: #f6f9fb;
  box-shadow: 0 16px 44px rgba(7, 24, 47, .08);
}

.sg-soro-loading {
  margin: 0;
  padding: 44px 20px;
  color: var(--sg-muted, #5d6c7e);
  text-align: center;
}

#soro-blog .soro-blog {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  font-family: Inter, system-ui, sans-serif !important;
}

#soro-blog .soro-blog-content {
  width: 100% !important;
}

#soro-blog .soro-blog-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  padding: 0 !important;
}

#soro-blog .soro-blog-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  height: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--sg-line, #dbe5ee) !important;
  border-radius: 22px !important;
  color: var(--sg-ink, #102033) !important;
  background: #fff !important;
  box-shadow: 0 12px 34px rgba(7, 24, 47, .08) !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

#soro-blog .soro-blog-card:hover,
#soro-blog .soro-blog-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 20px 44px rgba(7, 24, 47, .13) !important;
}

#soro-blog .soro-blog-card-image {
  width: 100% !important;
  height: 168px !important;
  aspect-ratio: 16 / 9;
  border-radius: 0 !important;
  object-fit: cover !important;
}

#soro-blog .soro-blog-card-content {
  display: flex !important;
  flex: 1;
  flex-direction: column;
  width: 100% !important;
  padding: 21px !important;
}

#soro-blog .soro-blog-card-title {
  margin: 0 0 10px !important;
  color: var(--sg-navy, #07182f) !important;
  font-family: Outfit, Inter, sans-serif !important;
  font-size: 1.22rem !important;
  line-height: 1.15 !important;
  letter-spacing: -.025em !important;
}

#soro-blog .soro-blog-card-excerpt {
  margin: 0 0 18px !important;
  color: var(--sg-muted, #5d6c7e) !important;
  font-size: .92rem !important;
  line-height: 1.55 !important;
}

#soro-blog .soro-blog-card-date {
  margin-top: auto !important;
  color: #087a98 !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  letter-spacing: .035em !important;
}

#soro-blog:not(.sg-soro-expanded) .soro-blog-card:nth-child(n + 7) {
  display: none !important;
}

.sg-soro-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 26px auto 0;
  padding: 11px 20px;
  border: 1px solid rgba(7, 24, 47, .20);
  border-radius: 999px;
  color: var(--sg-navy, #07182f);
  background: #fff;
  font: 800 .88rem/1.2 Inter, system-ui, sans-serif;
  cursor: pointer;
}

.sg-soro-more:hover,
.sg-soro-more:focus-visible {
  border-color: var(--sg-cyan, #19b8d8);
  box-shadow: 0 0 0 4px rgba(25, 184, 216, .12);
}

.sg-soro-more[hidden] {
  display: none !important;
}

.sg-insight-card__media {
  width: 100%;
  height: 166px;
  object-fit: cover;
}

.sg-soro-article-view .sg-soro-section {
  padding: 44px 0 72px;
  background: #fff;
}

.sg-soro-article-view .sg-soro-shell {
  min-height: 520px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.sg-soro-article-view #soro-blog .soro-blog {
  max-width: 920px !important;
  margin-inline: auto !important;
}

.sg-soro-article-view #soro-blog .soro-blog-header {
  padding-inline: 0 !important;
}

.sg-soro-article-view #soro-blog .soro-blog-article {
  width: 100% !important;
  max-width: none !important;
}

.sg-soro-article-view #soro-blog .soro-blog-article-image {
  width: 100% !important;
  max-height: 520px !important;
  object-fit: cover !important;
}

.sg-invalid-internal-link {
  color: inherit;
  text-decoration: none;
}

@media (max-width: 980px) {
  #soro-blog .soro-blog-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .sg-soro-section { padding: 62px 0; }
  .sg-soro-shell { padding: 14px; border-radius: 22px; }
  #soro-blog .soro-blog-list { grid-template-columns: 1fr !important; }
  #soro-blog .soro-blog-card-image { height: 150px !important; }
  .sg-soro-article-view .sg-soro-shell { padding: 0; }
}

@media (prefers-reduced-motion: reduce) {
  #soro-blog .soro-blog-card { transition: none !important; }
}
