.iis-osint-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,420px); gap:32px; align-items:center; }
.iis-osint-hero h1 { margin:0 0 20px; font-size:clamp(30px,3.2vw,46px); line-height:1.15; }
.iis-osint-hero .iis-lead { font-size:18px; line-height:1.6; }
.iis-osint-photo { margin:0; min-width:0; }
.iis-osint-photo img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:10px; }
.iis-osint-photo figcaption { margin-top:10px; font-size:13px; line-height:1.5; color:#c5d6e8; }
.iis-osint-photo a { text-decoration:underline; }
.iis-osint-meta { margin:0 0 12px; font-size:14px; line-height:1.5; color:#b9cfe4; }
.iis-osint-note { padding:14px 16px; border-left:3px solid var(--iis-sky); background:rgba(117,168,218,.08); font-size:15px; }
.iis-osint-nav { display:flex; flex-wrap:wrap; gap:10px; padding:16px 0; border-top:1px solid var(--iis-line); border-bottom:1px solid var(--iis-line); }
.iis-osint-nav a { display:inline-flex; align-items:center; min-height:44px; padding:10px 14px; border:1px solid var(--iis-line); border-radius:6px; font-size:15px; }
.iis-osint-nav a[aria-current] { color:white; background:var(--iis-navy); border-color:var(--iis-sky); }
.iis-osint-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:24px; }
.iis-osint-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.iis-osint-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:24px; border:1px solid var(--iis-line); border-radius:10px; background:rgba(0,35,85,.35); }
.iis-osint-card[hidden] { display:none; }
.iis-osint-card h3 { margin:0 0 14px; font-size:22px; line-height:1.3; }
.iis-osint-card p { margin:0 0 14px; }
.iis-osint-card a { text-decoration:underline; }
.iis-osint-card small { display:block; margin-top:10px; font-size:13px; overflow-wrap:anywhere; }
.iis-osint-method-link { margin-top:auto; }
.iis-section-light .iis-osint-card { background:white; color:var(--iis-ink); border-color:#cad7e3; }
.iis-section-light .iis-osint-card a { color:#214e7e; }
.iis-section-light .iis-osint-meta { color:#475c70; }
.iis-osint-steps { margin:24px 0; padding-left:26px; max-width:90ch; }
.iis-osint-steps li { padding:0 0 16px 8px; }
.iis-osint-filter { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:end; padding:20px; margin:24px 0; border:1px solid var(--iis-line); border-radius:10px; }
.iis-osint-filter label, .iis-osint-controls { display:grid; gap:8px; font-size:15px; }
.iis-osint-filter p { margin:0; }
.iis-osint-filter input, .iis-osint-filter select, .iis-osint-controls > input { width:100%; min-width:0; min-height:48px; padding:10px 12px; font-size:16px; border:1px solid #9bb2c9; border-radius:6px; color:var(--iis-ink); background:white; }
.iis-osint-filter button { justify-self:start; }
.iis-osint-launchpad { margin-top:24px; }
.iis-osint-controls { max-width:760px; padding:24px; background:white; color:var(--iis-ink); border:1px solid #cad7e3; border-radius:10px; }
.iis-osint-controls p { font-size:15px; margin:0 0 12px; }
.iis-osint-controls label[for="osint-exact"] { display:flex; gap:10px; align-items:center; min-height:44px; }
.iis-osint-controls input[type="checkbox"] { width:20px; height:20px; flex:0 0 auto; }
.iis-osint-controls button { justify-self:start; }
.iis-osint-controls input[aria-invalid="true"] { border:2px solid #c50000; }
.iis-osint-card .iis-button { text-decoration:none; margin-top:auto; white-space:normal; }
.iis-section-light .iis-osint-card .iis-button, .iis-section-light .iis-osint-controls .iis-button { color:var(--iis-navy); border-color:#6485a5; background:#edf4fa; }
@media (max-width:1000px) {
 .iis-osint-intro { grid-template-columns:1fr; }
 .iis-osint-photo { max-width:520px; }
 .iis-osint-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .iis-osint-filter { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
 .iis-osint-intro { gap:24px; }
 .iis-osint-hero h1 { font-size:clamp(29px,7vw,36px); }
 .iis-osint-grid, .iis-osint-grid-two, .iis-osint-filter { grid-template-columns:1fr; }
 .iis-osint-card, .iis-osint-controls, .iis-osint-filter { padding:20px; }
 .iis-osint-nav { gap:8px; }
 .iis-osint-nav a { font-size:14px; padding:10px; }
}
@media print { .iis-osint-filter, .iis-osint-nav, .iis-osint-photo { display:none; } .iis-osint-grid, .iis-osint-intro { display:block; } .iis-osint-card { break-inside:avoid; background:white; color:black; } }
