.ip-hero{
  border-bottom:1px solid var(--color-border);
  background:var(--color-panel);
  text-align:center;
}
.ip-hero .reading-column{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.ip-hero .eyebrow{
  margin-top:18px;
}
.ip-hero h1{
  margin-top:12px;
}
.ip-hero-copy{
  max-width:680px;
  margin-top:18px;
  color:var(--color-muted);
  font-size:17px;
}
.ip-result-section{
  position:relative;
  margin-top:-24px;
}
.ip-result-card{
  padding:34px;
}
.ip-result-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
.ip-result-heading h2{
  margin-top:7px;
}
.ip-result-state{
  display:inline-flex;
  max-width:100%;
  min-height:32px;
  align-items:center;
  padding:5px 13px;
  overflow:hidden;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  background:var(--color-panel);
  color:var(--color-muted);
  font-size:13px;
  font-weight:700;
}
.ip-result-state.is-success{
  border-color:var(--color-success);
  color:var(--color-success);
}
.ip-result-state.is-error{
  border-color:var(--color-error);
  color:var(--color-error);
}
.ip-result-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  margin-top:30px;
  overflow:hidden;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-border);
}
.ip-result-item{
  min-width:0;
  padding:22px;
  background:var(--color-bg);
}
.ip-result-item dt{
  color:var(--color-muted);
  font-size:13px;
  font-weight:700;
}
.ip-result-item dd{
  margin:9px 0 0;
  color:var(--color-text);
  font-family:var(--font-mono);
  font-size:clamp(17px,2vw,23px);
  font-weight:800;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.ip-result-item dd.is-positive{
  color:var(--color-warn);
}
.ip-result-item dd.is-negative{
  color:var(--color-success);
}
.ip-result-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.ip-result-actions .btn svg{
  flex:0 0 auto;
}
.ip-guide-section{
  background:var(--color-bg);
}
.ip-guide-layout{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);
  gap:64px;
  align-items:start;
}
.ip-guide-main h2,
.ip-checklist h2,
.ip-section-heading h2{
  margin-top:9px;
}
.ip-explanation-list{
  margin-top:30px;
  border-top:1px solid var(--color-border);
}
.ip-explanation{
  display:grid;
  grid-template-columns:minmax(130px,.35fr) minmax(0,1fr);
  gap:32px;
  padding-top:26px;
  padding-bottom:26px;
  border-bottom:1px solid var(--color-border);
}
.ip-explanation h3{
  font-size:20px;
}
.ip-explanation p{
  color:var(--color-muted);
}
.ip-checklist{
  position:sticky;
  top:92px;
  padding:28px;
}
.ip-checklist ul{
  display:grid;
  gap:13px;
  margin-top:24px;
  padding:0;
  list-style:none;
}
.ip-checklist li{
  position:relative;
  padding-left:24px;
}
.ip-checklist li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--color-success);
  font-weight:800;
}
.ip-checklist p:last-child{
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid var(--color-border);
  color:var(--color-muted);
  font-size:14px;
}
.ip-dns-section{
  background:var(--color-panel);
}
.ip-section-heading{
  max-width:760px;
}
.ip-section-heading>p:last-child{
  margin-top:16px;
  color:var(--color-muted);
}
.ip-dns-steps{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}
.ip-dns-step{
  position:relative;
  padding:28px 28px 28px 78px;
}
.ip-dns-step h3{
  font-size:21px;
}
.ip-dns-step p{
  margin-top:10px;
  color:var(--color-muted);
}
.ip-step-mark{
  position:absolute;
  top:28px;
  left:24px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:var(--radius-sm);
  background:var(--color-text);
  color:var(--color-white);
  font-family:var(--font-mono);
  font-weight:800;
}
.ip-dns-note{
  margin-top:24px;
}
.ip-privacy{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:20px;
  padding:28px;
}
.ip-privacy-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:var(--radius-md);
  background:var(--color-panel-strong);
  color:var(--color-teal);
}
.ip-privacy h2{
  font-size:28px;
}
.ip-privacy p{
  margin-top:9px;
  color:var(--color-muted);
}
.copy-buffer{
  position:fixed;
  left:-10000px;
  top:0;
  width:1px;
  height:1px;
  opacity:0;
}
@media (max-width:960px){
  .ip-result-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ip-guide-layout{
    grid-template-columns:1fr;
    gap:40px;
  }
  .ip-checklist{
    position:static;
  }
}
@media (max-width:700px){
  .ip-result-card{
    padding:24px 18px;
  }
  .ip-result-heading{
    flex-direction:column;
    gap:14px;
  }
  .ip-result-grid{
    grid-template-columns:1fr;
  }
  .ip-result-item{
    padding:18px;
  }
  .ip-explanation{
    grid-template-columns:1fr;
    gap:8px;
  }
  .ip-dns-steps{
    grid-template-columns:1fr;
  }
  .ip-dns-step{
    padding:24px 20px 24px 68px;
  }
  .ip-step-mark{
    top:24px;
    left:18px;
  }
  .ip-privacy{
    grid-template-columns:1fr;
  }
}
@media (max-width:640px){
  .ip-result-actions{
    flex-direction:column;
  }
}