.app-shell { max-width: 1200px; }
.ip-result-card { min-height: 21rem; }
.ip-address {
  overflow-wrap: anywhere;
  color: var(--ojt-accent-dark);
  font-size: clamp(1.65rem, 6vw, 2.8rem);
  font-weight: 750;
  letter-spacing: -0.035em;
  line-height: 1.15;
}
.detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  margin: 0;
  background: var(--ojt-border);
  border-radius: .75rem;
  overflow: hidden;
}
.detail-item { padding: 1rem; background: #fff; }
.detail-item dt { color: var(--ojt-muted); font-size: .78rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.detail-item dd { margin: .25rem 0 0; font-weight: 650; overflow-wrap: anywhere; }
.privacy-note { background: #eef6ff; border: 1px solid #d3e7fa; border-radius: .75rem; }
.supporting-section { position: relative; z-index: 0; max-width: 960px; padding: 4.5rem 0; margin: 0 auto; }
.supporting-section::before { position: absolute; z-index: -1; inset: 0 auto 0 50%; width: 100vw; background: var(--ojt-page); content: ""; transform: translateX(-50%); }
.supporting-section:nth-child(odd)::before { background: #fff; border-top: 1px solid var(--ojt-border); border-bottom: 1px solid var(--ojt-border); }
@media (max-width: 575.98px) {
  .detail-grid { grid-template-columns: 1fr; }
  .ip-result-card { min-height: 23rem; }
  .supporting-section { padding: 3.5rem 0; }
}
