.ip-top{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(30px,6vw,88px);padding-top:88px;padding-bottom:92px}
.ip-intro{min-width:0}
.ip-intro h1{margin:20px 0 22px;font-size:clamp(52px,5.2vw,68px);font-weight:500;letter-spacing:-.02em}
.ip-intro>p{max-width:46ch;color:var(--muted);font-size:17px;line-height:1.8}
.ip-intro-links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:28px}
.ip-intro-links a{text-decoration:none;font-weight:500}
.ip-result{min-width:0;padding:28px;box-shadow:var(--shadow-win)}
.ip-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ip-result-head .eyebrow{margin:0 0 9px}
.ip-result h2{margin:0;font-size:25px}
.ip-state{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:30px;padding:4px 10px;border-radius:var(--r-pill);background:var(--panel-2);color:var(--muted);font-size:12px;white-space:nowrap}
.ip-state::before{content:"";width:7px;height:7px;flex:none;border-radius:var(--r-pill);background:currentColor}
.ip-state[data-state="ready"]{background:var(--success-a16);color:var(--success)}
.ip-state[data-state="error"]{background:var(--accent-a10);color:var(--accent-dark)}
.ip-result-note{margin:12px 0 22px;color:var(--muted);font-size:13px}
.ip-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-card);background:var(--border)}
.ip-field{min-width:0;min-height:96px;padding:17px 19px;background:var(--panel-3)}
.ip-field-main{grid-column:1/-1;min-height:112px;background:var(--panel)}
.ip-field dt{margin-bottom:8px;color:var(--muted);font-size:12px}
.ip-field dd{margin:0;overflow-wrap:anywhere;font-weight:500;font-size:16px;line-height:1.45}
.ip-field-main dd{font-size:clamp(20px,2.4vw,30px);letter-spacing:-.02em}
.ip-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:20px}
.ip-actions .btn{min-height:40px;padding-inline:17px;font-size:13px}
.ip-actions .btn:disabled{opacity:.5;cursor:not-allowed}
.ip-feedback{flex-basis:100%;min-height:1.5em;color:var(--muted);font-size:12px}
.ip-explain{padding-top:70px;padding-bottom:82px;border-top:1px solid var(--border)}
.ip-section-heading{max-width:650px}
.ip-section-heading h2,.ip-dns h2{margin:10px 0 15px}
.ip-section-heading>p:last-child{font-size:16px}
.ip-explain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:38px}
.ip-explain-item{min-width:0;padding-top:18px;border-top:1px solid var(--border-strong)}
.ip-item-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-ui);background:var(--panel-2);color:var(--text-2);font:18px/1 var(--font-mono)}
.ip-explain-item h3{margin:18px 0 10px;font-size:19px}
.ip-explain-item p{max-width:46ch;color:var(--muted);line-height:1.85}
.ip-dns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:start;gap:clamp(28px,6vw,90px);padding-top:78px;padding-bottom:100px;border-top:1px solid var(--border)}
.ip-dns-copy{min-width:0}
.ip-dns-copy>p:not(.eyebrow){max-width:68ch;line-height:1.85}
.ip-dns-copy ol{max-width:68ch;margin:24px 0;padding-left:1.6em}
.ip-dns-copy li{padding-left:5px;margin-bottom:14px;line-height:1.85}
.ip-dns-copy li::marker{color:var(--accent-dark);font-family:var(--font-mono)}
.ip-privacy{min-width:0;margin-top:22px;padding:28px}
.ip-privacy-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--r-card);background:var(--panel-2);color:var(--text-2)}
.ip-privacy h3{margin:21px 0 10px}
.ip-privacy p{line-height:1.85}
.ip-privacy p:last-child{margin-bottom:0;font-size:13px}
@media(max-width:900px){
  .ip-top{grid-template-columns:1fr;gap:32px;padding-top:60px;padding-bottom:68px}
  .ip-intro>p{max-width:65ch}
  .ip-dns{grid-template-columns:1fr}
  .ip-privacy{max-width:580px;margin-top:0}
}
@media(max-width:640px){
  .ip-top{padding-top:42px;padding-bottom:56px}
  .ip-intro h1{font-size:clamp(28px,8vw,40px)}
  .ip-intro>p{font-size:15px}
  .ip-result{padding:16px}
  .ip-result h2{font-size:21px}
  .ip-field{padding:14px;min-height:88px}
  .ip-field-main{min-height:98px}
  .ip-field dd{font-size:14px}
  .ip-field-main dd{font-size:20px}
  .ip-explain{padding-top:55px;padding-bottom:60px}
  .ip-explain-grid{grid-template-columns:1fr;gap:16px;margin-top:28px}
  .ip-dns{padding-top:58px;padding-bottom:70px}
  .ip-privacy{padding:22px}
}
@media(max-width:360px){
  .ip-fields{grid-template-columns:1fr}
  .ip-field-main{grid-column:auto}
  .ip-result-head{flex-wrap:wrap}
}