.ip-hero{
  position:relative;
  overflow-x:clip;
  border-bottom:1px solid var(--color-border);
  background:linear-gradient(135deg,var(--color-bg),var(--color-panel-alt));
}
.ip-hero::after{
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:72px;
  content:"";
  pointer-events:none;
  opacity:.22;
  background-image:radial-gradient(var(--color-accent) 1px,transparent 1.2px);
  background-size:15px 15px;
}
.ip-hero-in{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.75fr);
  gap:clamp(36px,7vw,88px);
  align-items:center;
  padding-top:clamp(58px,8vw,96px);
  padding-bottom:clamp(76px,10vw,124px);
}
.ip-hero-copy{min-width:0}
.ip-hero-copy h1{max-width:760px}
.ip-hero-lead{
  max-width:720px;
  margin-top:24px;
  color:var(--color-muted);
  font-size:18px;
}
.ip-hero-note{
  min-width:0;
  padding:24px;
  color:var(--color-accent);
  box-shadow:var(--shadow-card);
  transform:rotate(1.5deg);
}
.ip-note-label{
  display:block;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
}
.ip-hero-note svg{
  width:100%;
  margin-top:14px;
}
.ip-hero-note svg path:first-child{color:var(--color-accent)}
.ip-hero-note svg path:nth-child(2){color:var(--color-border)}
.ip-hero-note svg circle{color:var(--color-success)}
.ip-note-captions{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:10px;
}

.result-panel{
  overflow:hidden;
  box-shadow:var(--shadow-card);
}
.result-panel-head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:24px 28px;
  border-bottom:1px solid var(--color-border);
  background:var(--color-panel-alt);
}
.query-status{
  margin-top:10px;
  color:var(--color-muted);
}
.result-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.result-item{
  min-width:0;
  padding:26px 28px;
  border-bottom:1px solid var(--color-border);
}
.result-item:nth-child(odd){border-right:1px solid var(--color-border)}
.result-item dt{
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
}
.result-item dd{
  margin:8px 0 0;
  overflow-wrap:anywhere;
  color:var(--color-text);
  font-size:clamp(18px,2.4vw,25px);
  font-weight:850;
  line-height:1.35;
}
.result-item-primary dd{
  color:var(--color-accent);
  font-family:var(--font-mono);
}
.query-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  padding:24px 28px;
}
.query-error{
  margin:0 28px 28px;
}
.query-error[hidden]{display:none}

.meaning-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.meaning-card{
  position:relative;
  padding-top:34px;
}
.meaning-mark{
  display:inline-flex;
  min-height:26px;
  align-items:center;
  margin-bottom:18px;
  padding:4px 9px;
  border-left:3px solid var(--color-accent);
  color:var(--color-accent);
  background:var(--color-accent-soft);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
.meaning-card h3{font-size:23px}
.meaning-card p{
  margin-top:12px;
  color:var(--color-muted);
}

.dns-layout{min-width:0}
.dns-heading{max-width:850px}
.dns-steps{
  display:grid;
  gap:0;
  border-top:3px solid var(--color-accent);
}
.dns-step{
  display:grid;
  grid-template-columns:minmax(92px,.28fr) minmax(0,1fr);
  gap:28px;
  padding:28px 22px;
  border-bottom:1px solid var(--color-border);
  transition:background-color var(--transition-fast),transform var(--transition-fast);
}
.dns-step:hover{
  background:var(--color-panel);
  transform:translateX(-2px);
}
.dns-step-label{
  padding-top:5px;
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
}
.dns-step h3{font-size:22px}
.dns-step p{
  margin-top:10px;
  color:var(--color-muted);
}
.dns-callout{margin-top:28px}

.privacy-panel{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:24px;
  align-items:start;
  padding:32px;
  box-shadow:var(--shadow-card);
}
.privacy-icon{
  display:grid;
  width:54px;
  height:54px;
  place-items:center;
  border-radius:var(--radius-md);
  color:var(--color-success);
  background:var(--color-success-soft);
}
.privacy-panel h2{font-size:clamp(30px,4vw,44px)}
.privacy-panel p:last-child{
  max-width:880px;
  margin-top:16px;
  color:var(--color-muted);
}

@media (max-width:900px){
  .ip-hero-in{grid-template-columns:1fr}
  .ip-hero-note{max-width:620px}
}
@media (max-width:700px){
  .result-grid,.meaning-grid{grid-template-columns:1fr}
  .result-item:nth-child(odd){border-right:0}
  .dns-step{grid-template-columns:1fr;gap:8px}
}
@media (max-width:640px){
  .ip-hero-in{
    padding-top:48px;
    padding-bottom:82px;
  }
  .ip-hero-lead{font-size:16px}
  .ip-hero-note{
    padding:18px;
    transform:none;
  }
  .result-panel-head,.result-item,.query-toolbar{padding:20px}
  .query-error{margin:0 20px 20px}
  .privacy-panel{
    grid-template-columns:1fr;
    padding:24px;
  }
  .ip-note-captions{font-size:9px}
}