.ip-intro{max-width:1080px}
.ip-intro h1{margin-block:24px}
.ip-intro .desc{max-width:44em}
.ip-result{margin-top:36px}
.ip-result-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.ip-result-head h2{margin:0;font-size:28px}
.ip-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;margin:24px 0}
.ip-fields>div{min-width:0;padding-block:20px;border-top:1px solid var(--border)}
.ip-fields .ip-address-field{grid-column:1/-1}
.ip-fields dt{font-size:14px;color:var(--text-muted);margin-bottom:10px}
.ip-fields dd{margin:0;overflow-wrap:anywhere}
.ip-address-field dd{font-size:clamp(22px,3.6vw,38px);line-height:1.4}
.ip-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.ip-message{margin:20px 0 0;font-size:14px}
.ip-copy-message{margin:10px 0 0;font-size:14px}
.ip-copy-message:empty{display:none}
.ip-source{font-size:13px;margin:16px 0 0}
.ip-explanations{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.ip-explanations>*{min-width:0}
.ip-explanations h3{margin-top:0}
.ip-explanations p:last-child{margin-bottom:0}
.ip-checklist{margin:0;padding-left:24px}
.ip-checklist li{padding-left:8px;margin-bottom:28px}
.ip-checklist li::marker{font-family:var(--font-mono);color:var(--steel-deep)}
.ip-checklist h3{margin:0 0 12px}
.ip-checklist p{max-width:58em;margin-bottom:0}
.ip-dns .callout{margin-bottom:0}
#privacy-title{margin-top:0}
@media(max-width:768px){
  .ip-fields{grid-template-columns:1fr;gap:0}
  .ip-explanations{grid-template-columns:1fr}
  .ip-result{margin-top:28px}
}