.ip-intro{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(28px,5vw,80px);padding-top:76px;padding-bottom:80px}
.ip-intro-copy{min-width:0}
.ip-intro h1{margin:14px 0 22px;color:var(--accent-dark)}
.ip-lede{max-width:560px;font-size:18px;line-height:1.8;color:var(--text-muted)}
.ip-intro .fact-line{margin-top:28px}
.ip-result{padding:30px;min-width:0}
.ip-result-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.ip-result-head h2{margin:6px 0 0;font-size:28px}
.ip-state{display:inline-flex;align-items:center;justify-content:center;min-height:32px;max-width:100%;padding:4px 12px;border-radius:var(--r-pill);background:var(--bg-panel2);color:var(--accent-dark);font-size:13px;font-weight:700;white-space:nowrap}
.ip-state.is-ready{background:var(--success-a18);color:var(--success)}
.ip-state.is-error{background:var(--bg-panel2);color:var(--text-muted)}
.ip-message{min-height:26px;margin:12px 0 20px;color:var(--text-muted);font-size:14px}
.ip-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.ip-field{min-width:0;min-height:94px;padding:16px 18px;border:1px solid var(--line-soft);border-radius:var(--r-card);background:var(--surface);box-shadow:inset 0 1px 0 var(--white-a90)}
.ip-field-primary{grid-column:1/-1;background:linear-gradient(115deg,var(--surface),var(--haze))}
.ip-field dt{font-size:13px;color:var(--text-muted)}
.ip-field dd{margin:8px 0 0;font-size:16px;font-weight:700;line-height:1.4;color:var(--text);overflow-wrap:anywhere}
.ip-field-primary dd{font-size:clamp(22px,3vw,34px);color:var(--accent-dark)}
.ip-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:22px}
.ip-actions .btn{min-width:132px;min-height:44px;padding-inline:20px;font-size:14px}
.ip-copy-feedback{flex-basis:100%;min-height:20px;color:var(--text-muted);font-size:13px}
.ip-guide{padding-bottom:42px}
.ip-guide-section{padding-top:65px;padding-bottom:24px;border-top:1px solid var(--border)}
.ip-section-heading{max-width:760px}
.ip-section-heading h2{margin:10px 0 16px}
.ip-section-heading > p:last-child{color:var(--text-muted)}
.ip-explain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}
.ip-explain{padding:26px}
.ip-explain h3{margin:0 0 12px;font-size:21px;color:var(--accent-dark)}
.ip-explain p{margin:0;color:var(--text-muted)}
.ip-checklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0 0;padding:0;list-style:none;counter-reset:ip-step}
.ip-checklist li{position:relative;min-width:0;padding:26px;border:1px solid var(--line-soft);border-radius:var(--r-card);background:var(--bg-panel);box-shadow:0 16px 32px -22px var(--iris-a28),inset 0 1px 0 var(--white-a90);counter-increment:ip-step}
.ip-checklist li::before{content:counter(ip-step,decimal-leading-zero);display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:0 7px;border-radius:var(--r-pill);background:var(--bg-panel2);color:var(--accent-dark);font-family:var(--font-mono);font-size:12px;font-weight:700}
.ip-checklist h3{margin:18px 0 10px;font-size:20px}
.ip-checklist p{margin:0;color:var(--text-muted)}
.ip-privacy{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:55px;padding:30px;border:1px solid var(--line-soft);border-radius:var(--r-card);background:var(--bg-panel2)}
.ip-privacy > div{max-width:780px;min-width:0}
.ip-privacy h2{margin:8px 0 12px;font-size:27px}
.ip-privacy p:last-child{margin:0;color:var(--text-muted)}
.ip-privacy-link{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;min-height:44px;color:var(--accent-dark);font-weight:700}
.ip-privacy-link:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:920px){
  .ip-intro{grid-template-columns:1fr;padding-top:48px;padding-bottom:60px}
  .ip-intro-copy{max-width:700px}
  .ip-checklist{grid-template-columns:1fr}
}
@media(max-width:640px){
  .ip-intro{gap:30px;padding-top:38px;padding-bottom:52px}
  .ip-lede{font-size:16px}
  .ip-result{padding:18px}
  .ip-result-head h2{font-size:23px}
  .ip-fields,.ip-explain-grid{grid-template-columns:1fr}
  .ip-field-primary{grid-column:auto}
  .ip-field{min-height:80px}
  .ip-actions .btn{flex:1 1 130px;min-width:0}
  .ip-guide-section{padding-top:48px}
  .ip-privacy{flex-direction:column;align-items:flex-start;padding:22px}
}