.ip-page { max-width:1060px }
.ip-heading { max-width:800px; margin-bottom:32px }
.ip-heading h1 { margin-top:20px; font-size:var(--display-size) }
.ip-intro { max-width:680px; margin-top:20px; color:var(--muted) }
.ip-result { background:linear-gradient(135deg,var(--panel),var(--accent-tint)); margin-top:32px }
.ip-result-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px }
.ip-result-head h2 { font-size:28px }
.ip-status { margin-top:16px; color:var(--muted); overflow-wrap:anywhere }
.ip-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 24px; margin:24px 0 0 }
.ip-fields > div { min-width:0; padding-block:20px; border-top:1px solid var(--border) }
.ip-fields .ip-address { grid-column:1 / -1 }
.ip-fields dt { color:var(--muted); font-size:14px; margin-bottom:8px }
.ip-fields dd { margin:0; font-weight:600; overflow-wrap:anywhere }
.ip-address dd { font-size:clamp(21px,3.5vw,36px); line-height:1.4; color:var(--text) }
.ip-copy-status { min-height:26px; margin-top:12px; color:var(--accent-dark); font-size:14px }
.ip-result-note { font-size:14px; color:var(--muted); margin-top:8px }
.ip-explainer > h2 { margin-bottom:28px }
.ip-notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px }
.ip-notes article { min-width:0 }
.ip-notes h3 { font-size:21px }
.ip-notes p { margin-top:12px; color:var(--muted); line-height:1.85 }
.ip-dns > p { margin-top:20px; color:var(--muted); line-height:1.85 }
.ip-dns-steps { padding-left:24px; margin-block:24px; color:var(--ink-2) }
.ip-dns-steps li { padding-left:4px; line-height:1.85 }
.ip-dns-steps li + li { margin-top:16px }
.ip-page > .callout { margin-top:32px }
.ip-page > .callout p { margin-top:12px }
.ip-page > .callout a { color:var(--accent-dark); text-decoration:underline; text-underline-offset:4px }
@media (max-width:640px) {
  .ip-fields { grid-template-columns:minmax(0,1fr) }
  .ip-notes { grid-template-columns:minmax(0,1fr); gap:28px }
  .ip-result-head h2 { font-size:25px }
}