:root {
  --font-sans: 'Bricolage Grotesque', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'DM Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --brand: #5B359D;
  --brand-2: #47297D;
  --brand-strong: #47297D;
  --brand-mid: #7c3aed;
  --brand-light: #efe7ff;
  --accent: #0ec97f;
  --accent-bg: rgba(14,201,127,.12);
  --text-primary: #0f172a;
  --text-secondary: #536174;
  --text-muted: #7a8799;
  --border: rgba(91,53,157,.16);
  --border-light: rgba(91,53,157,.10);
  --radius-sm: 14px;
  --radius: 22px;
  --radius-lg: 28px;
  --dark: #090413;
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #fff;
  color: #0f172a;
  font-family: var(--font-sans);
  line-height: 1.5;
  overflow-x: hidden;
}

/* Navbar isolation */
nav a,
nav a:hover,
nav a:focus,
nav a:active,
.nav-mobile a,
.nav-mobile a:hover,
.nav-mobile a:focus,
.nav-mobile a:active { text-decoration: none !important; }

nav .nav-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 12px;
  border: 1.5px solid transparent;
  font-family: var(--font-sans);
  font-size: .875rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: color .15s ease,background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
nav .nav-actions .btn-ghost { background: transparent; color: var(--text-primary); border-color: var(--border); box-shadow: none; }
nav .nav-actions .btn-ghost:hover { color: var(--brand); background: var(--brand-light); border-color: var(--brand); transform: none; }
nav .nav-actions .btn-primary { color: #fff; background: var(--brand); border-color: var(--brand); box-shadow: none; }
nav .nav-actions .btn-primary:hover { color: #fff; background: var(--brand-2); border-color: var(--brand-2); transform: translateY(-1px); box-shadow: 0 8px 18px rgba(91,53,157,.18); }
nav .nav-actions .btn-outline-danger { color: #dc3545; background: transparent; border-color: rgba(220,53,69,.42); }
nav .nav-actions .btn-outline-danger:hover { color: #fff; background: #dc3545; border-color: #dc3545; }
nav .nav-actions .btn-sm { min-height: 36px; padding: 0 13px; font-size: .82rem; }

.ioc-main {
  --brand: #5B359D;
  --brand-strong: #47297D;
  --brand-mid: #7c3aed;
  --brand-light: #efe7ff;
  --accent: #0ec97f;
  --danger: #ff6675;
  --warning: #ffbd5a;
  --text: #0f172a;
  --text-2: #536174;
  --muted: #7a8799;
  --border: rgba(91,53,157,.16);
  --border-light: rgba(91,53,157,.10);
  --dark: #090413;
  --dark-2: #130822;
  --font-mono: 'DM Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --shadow-sm: 0 16px 40px rgba(13,17,23,.08);
  --shadow-lg: 0 34px 90px rgba(13,17,23,.15);
  overflow: hidden;
  background:
    radial-gradient(circle at 7% 2%,rgba(124,58,237,.055),transparent 24%),
    linear-gradient(180deg,#fff 0%,#fcfbff 48%,#fff 100%);
}

.ioc-main *,
.ioc-main *::before,
.ioc-main *::after { box-sizing: border-box; }
.ioc-main a { color: inherit; text-decoration: none; }
.ioc-main img { display: block; max-width: 100%; }

.ioc-main .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 0 23px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: inherit;
  font-size: .96rem;
  font-weight: 750;
  line-height: 1;
  transition: transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ioc-main .btn-xl { min-height: 56px; padding: 0 28px; }
.ioc-main .btn-primary { color: #fff; background: linear-gradient(135deg,var(--brand),var(--brand-mid)); box-shadow: 0 18px 38px rgba(91,53,157,.24); }
.ioc-main .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 23px 46px rgba(91,53,157,.30); }
.ioc-main .btn-ghost { color: var(--brand); background: #fff; border-color: var(--border); }
.ioc-main .btn-ghost:hover { background: var(--brand-light); transform: translateY(-2px); }

.ioc-main .eyebrow {
  margin-bottom: 14px;
  color: var(--brand);
  font-size: .74rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.ioc-main .eyebrow-light { color: #cbb8ff; }
.ioc-main .step-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: var(--brand);
  font-size: .82rem;
  font-weight: 800;
}
.ioc-main .step-label > span {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--brand-light);
  font-family: var(--font-mono);
  font-size: .7rem;
}
.ioc-main .step-light { color: #d9c8ff; }
.ioc-main .step-light > span { background: rgba(124,58,237,.23); color: #eadfff; }

@keyframes fadeUp { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
.ioc-main .fade-up { opacity: 0; animation: fadeUp .62s ease forwards; }
.ioc-main .d1 { animation-delay: .05s; }
.ioc-main .d2 { animation-delay: .16s; }

/* HERO */
.ioc-hero {
  position: relative;
  width: min(1460px,calc(100% - 48px));
  min-height: 790px;
  margin: 64px auto 0;
  padding: 104px 22px 76px;
  display: grid;
  grid-template-columns: minmax(0,.88fr) minmax(520px,1.12fr);
  gap: 72px;
  align-items: center;
}
.hero-copy,.hero-visual { position: relative; z-index: 2; }
.hero-copy { max-width: 730px; }
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 14px;
  margin-bottom: 24px;
  border: 1px solid rgba(91,53,157,.12);
  border-radius: 999px;
  background: rgba(91,53,157,.07);
  color: var(--brand);
  font-size: .86rem;
  font-weight: 750;
}
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 5px rgba(14,201,127,.10); }
.hero-copy h1 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(3rem,4.55vw,4.75rem);
  line-height: .98;
  letter-spacing: -.035em;
  font-weight: 800;
}
.hero-copy h1 em { color: var(--brand); font-style: normal; }
.hero-sub { max-width: 700px; margin: 27px 0 0; color: var(--text-2); font-size: clamp(1.08rem,1.28vw,1.22rem); line-height: 1.72; }
.hero-actions { display: flex; align-items: center; gap: 18px; margin-top: 32px; flex-wrap: wrap; }
.text-link { display: inline-flex; align-items: center; gap: 8px; padding: 10px 4px; color: var(--brand); font-size: .97rem; font-weight: 750; }
.text-link svg { transition: transform .18s ease; }
.text-link:hover svg { transform: translateX(4px); }
.hero-proof { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin-top: 45px; padding-top: 27px; border-top: 1px solid var(--border-light); }
.hero-proof strong { display: block; margin-bottom: 6px; font-size: .95rem; }
.hero-proof span { display: block; color: var(--muted); font-size: .80rem; line-height: 1.5; }
.hero-visual { min-width: 0; transform: translateX(18px); }
.hero-orbit { position:absolute; left:50%; top:50%; z-index:0; border:1px solid rgba(124,58,237,.13); border-radius:50%; }
.orbit-a { width:700px; height:700px; transform:translate(-48%,-50%); }
.orbit-b { width:535px; height:535px; transform:translate(-48%,-50%); border-color:rgba(124,58,237,.07); }

.ioc-window {
  position: relative;
  z-index: 2;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 26px;
  background: #090513;
  color: #fff;
  box-shadow: 0 40px 90px rgba(9,4,18,.25);
  transform: rotate(.7deg);
}
.window-bar,.action-top {
  min-height: 48px;
  padding: 0 18px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.025);
  color: rgba(255,255,255,.50);
  font-family: var(--font-mono);
  font-size: .68rem;
}
.window-dots { display:flex; gap:6px; }
.window-dots i { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.18); }
.window-state { color:#74e7b0; font-weight:700; letter-spacing:.05em; }
.ioc-body { padding: 27px; }
.ioc-summary { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.08); }
.ui-kicker { display:block; margin-bottom:7px; color:rgba(255,255,255,.4); font-size:.66rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.ioc-summary strong { display:block; margin-bottom:5px; font-size:1.36rem; }
.ioc-summary p { max-width:340px; margin:0; color:rgba(255,255,255,.5); font-size:.76rem; line-height:1.5; }
.ioc-score { min-width:84px; height:84px; display:grid; place-content:center; text-align:center; border-radius:50%; background:radial-gradient(circle at center,#130a1b 58%,transparent 59%),conic-gradient(var(--brand-mid) 0 72%,rgba(255,255,255,.08) 72% 100%); }
.ioc-score b { font-size:1.55rem; line-height:1; }
.ioc-score small { display:block; margin-top:4px; color:rgba(255,255,255,.4); font-size:.56rem; }
.ioc-filter-row { display:flex; flex-wrap:wrap; gap:7px; margin:17px 0 14px; }
.ioc-filter-row span { padding:6px 9px; border:1px solid rgba(255,255,255,.07); border-radius:999px; color:rgba(255,255,255,.48); font-size:.64rem; }
.ioc-filter-row .active { color:#e2d6ff; background:rgba(124,58,237,.17); border-color:rgba(169,148,232,.23); }
.ioc-table { overflow:hidden; border:1px solid rgba(255,255,255,.07); border-radius:14px; }
.ioc-line { display:grid; grid-template-columns:62px minmax(0,1fr) auto; gap:11px; align-items:center; padding:10px 12px; border-top:1px solid rgba(255,255,255,.06); }
.ioc-line:first-child { border-top:0; }
.ioc-line > span { color:#aa91ea; font-family:var(--font-mono); font-size:.6rem; font-weight:700; }
.ioc-line code { overflow:hidden; color:rgba(255,255,255,.72); font-family:var(--font-mono); font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }
.ioc-line b { font-size:.63rem; font-weight:600; }
.ioc-line.high b { color:#ff929d; }
.ioc-line.medium b { color:#ffc979; }
.ioc-line.neutral b { color:#83dfb3; }
.quick-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:14px; padding:12px 14px; border:1px solid rgba(255,255,255,.07); border-radius:12px; background:rgba(255,255,255,.035); }
.quick-actions > span { color:rgba(255,255,255,.42); font-size:.66rem; }
.quick-actions div { display:flex; gap:7px; }
.quick-actions b { min-width:35px; height:27px; display:grid; place-items:center; border-radius:8px; background:rgba(124,58,237,.15); color:#cdbbff; font-family:var(--font-mono); font-size:.58rem; }

.floating-chip { position:absolute; z-index:5; display:flex; align-items:center; gap:11px; padding:13px 15px; border:1px solid var(--border-light); border-radius:16px; background:rgba(255,255,255,.94); box-shadow:var(--shadow-sm); backdrop-filter:blur(16px); }
.floating-chip > span { display:grid; place-items:center; width:35px; height:35px; border-radius:11px; background:var(--brand-light); color:var(--brand); font-family:var(--font-mono); font-size:.72rem; font-weight:800; }
.floating-chip small,.floating-chip strong { display:block; }
.floating-chip small { margin-bottom:2px; color:var(--muted); font-size:.66rem; }
.floating-chip strong { font-size:.82rem; }
.chip-top { top:-30px; right:28px; }
.chip-bottom { bottom:-34px; left:-36px; }

/* RAIL */
.decision-rail { width:min(1260px,calc(100% - 48px)); margin:0 auto; padding:24px 0; display:grid; grid-template-columns:.9fr repeat(3,1fr); align-items:center; border-top:1px solid var(--border-light); border-bottom:1px solid var(--border-light); }
.rail-label { color:var(--brand); font-size:.92rem; font-weight:800; }
.decision-rail > div:not(.rail-label) { position:relative; padding:4px 26px; }
.decision-rail > div:not(.rail-label)::before { content:""; position:absolute; left:0; top:4px; bottom:4px; width:1px; background:var(--border-light); }
.decision-rail span { display:block; margin-bottom:3px; color:var(--brand); font-family:var(--font-mono); font-size:.66rem; }
.decision-rail strong { display:block; font-size:.96rem; }
.decision-rail small { display:block; margin-top:3px; color:var(--muted); font-size:.76rem; }

/* SHARED TYPOGRAPHY */
.story-intro { width:min(980px,calc(100% - 48px)); margin:0 auto; padding:118px 0 104px; text-align:center; }
.story-intro h2,
.extract-copy h2,
.sort-heading h2,
.intel-copy h2,
.pivot-heading h2,
.action-copy h2,
.result-copy h2,
.privacy-panel h2,
.cta-panel h2,
.faq-copy h2 {
  margin:0;
  font-size:clamp(2.05rem,3.1vw,3.25rem);
  line-height:1.07;
  letter-spacing:-.028em;
  font-weight:800;
}
.story-intro h2 span { color:var(--brand); }
.story-intro p { max-width:800px; margin:25px auto 0; color:var(--text-2); font-size:1.12rem; line-height:1.76; }
.clean-points { display:grid; gap:12px; margin-top:28px; }
.clean-points span { position:relative; padding-left:29px; color:var(--text-2); font-size:.95rem; font-weight:600; line-height:1.55; }
.clean-points span::before { content:"✓"; position:absolute; left:0; top:0; width:20px; height:20px; display:grid; place-items:center; border-radius:50%; background:var(--brand-light); color:var(--brand); font-size:.7rem; font-weight:900; }

/* EXTRACTION */
.extract-section { width:min(1320px,calc(100% - 48px)); margin:0 auto; padding:72px 0 128px; display:grid; grid-template-columns:minmax(350px,.76fr) minmax(0,1.24fr); gap:90px; align-items:center; }
.extract-copy p,.intel-copy > p,.action-copy p { max-width:650px; margin:23px 0 0; color:var(--text-2); font-size:1.05rem; line-height:1.72; }
.extract-visual { position:relative; min-height:520px; }
.source-file { position:absolute; z-index:5; left:50%; top:50%; width:190px; height:190px; transform:translate(-50%,-50%); display:grid; place-content:center; text-align:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,var(--brand),var(--brand-mid)); box-shadow:0 26px 70px rgba(91,53,157,.25); }
.source-file span { color:rgba(255,255,255,.58); font-family:var(--font-mono); font-size:.64rem; }
.source-file strong { margin-top:7px; font-size:.88rem; }
.source-file small { margin-top:5px; color:#a7efca; font-size:.65rem; }
.artifact { position:absolute; z-index:4; width:225px; padding:18px; border:1px solid var(--border-light); border-radius:19px; background:rgba(255,255,255,.97); box-shadow:var(--shadow-sm); }
.artifact small { display:block; margin-bottom:5px; color:var(--brand); font-size:.69rem; font-weight:800; }
.artifact strong { display:block; overflow:hidden; font-family:var(--font-mono); font-size:.75rem; text-overflow:ellipsis; white-space:nowrap; }
.artifact-domain { left:2%; top:5%; transform:rotate(-2deg); }
.artifact-ip { right:1%; top:11%; transform:rotate(2deg); }
.artifact-url { left:4%; bottom:8%; transform:rotate(1deg); }
.artifact-hash { right:1%; bottom:12%; transform:rotate(-2deg); }
.extract-lines i { position:absolute; z-index:1; left:50%; top:50%; width:260px; height:1px; transform-origin:left center; background:linear-gradient(90deg,rgba(91,53,157,.38),rgba(91,53,157,.03)); }
.line-1 { transform:rotate(215deg); }
.line-2 { transform:rotate(331deg); }
.line-3 { transform:rotate(145deg); }
.line-4 { transform:rotate(27deg); }

/* SORT BAND */
.sort-band { padding:108px 48px 118px; color:#fff; background:radial-gradient(circle at 82% 8%,rgba(124,58,237,.27),transparent 30%),linear-gradient(145deg,#090313 0%,#150925 58%,#080312 100%); }
.sort-inner { width:min(1260px,100%); margin:0 auto; }
.sort-heading { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.68fr); gap:70px; align-items:end; margin-bottom:52px; }
.sort-heading h2 { max-width:720px; }
.sort-heading > p { margin:0; color:rgba(255,255,255,.65); font-size:1.03rem; line-height:1.7; }
.sort-layout { display:grid; grid-template-columns:210px 1fr; gap:26px; align-items:start; }
.sort-tabs { display:grid; gap:7px; }
.sort-tabs span { display:flex; justify-content:space-between; align-items:center; min-height:48px; padding:0 15px; border:1px solid rgba(255,255,255,.08); border-radius:12px; color:rgba(255,255,255,.52); font-size:.78rem; }
.sort-tabs span.active { color:#fff; border-color:rgba(196,169,255,.25); background:rgba(124,58,237,.17); }
.sort-tabs b { font-family:var(--font-mono); font-size:.67rem; }
.sort-list { overflow:hidden; border:1px solid rgba(255,255,255,.09); border-radius:22px; background:rgba(255,255,255,.035); }
.priority { display:grid; grid-template-columns:42px 1fr auto; gap:16px; align-items:center; min-height:78px; padding:0 20px; border-top:1px solid rgba(255,255,255,.07); }
.priority:first-child { border-top:0; }
.priority > span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:rgba(124,58,237,.20); color:#d8cbff; font-family:var(--font-mono); font-size:.67rem; }
.priority small { display:block; margin-bottom:4px; color:rgba(255,255,255,.38); font-size:.65rem; }
.priority strong { display:block; font-family:var(--font-mono); font-size:.76rem; font-weight:500; }
.priority > b { padding:5px 9px; border-radius:999px; font-size:.65rem; font-weight:600; }
.priority-high > b { color:#ff9da6; background:rgba(255,102,117,.10); }
.priority-medium > b { color:#ffd08a; background:rgba(255,189,90,.10); }
.priority-low > b { color:#95dfbb; background:rgba(14,201,127,.08); }

/* INTEL */
.intel-section { width:min(1320px,calc(100% - 48px)); margin:0 auto; padding:138px 0 128px; display:grid; grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr); gap:88px; align-items:center; }
.privacy-inline { display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:start; margin-top:30px; padding:18px; border:1px solid rgba(14,201,127,.17); border-radius:18px; background:rgba(14,201,127,.055); }
.privacy-mini-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:#0aa56a; background:rgba(14,201,127,.1); }
.privacy-inline strong { display:block; margin-bottom:4px; font-size:.9rem; }
.privacy-inline span { display:block; color:var(--text-2); font-size:.82rem; line-height:1.5; }
.intel-visual { position:relative; padding:34px; border:1px solid var(--border-light); border-radius:32px; background:linear-gradient(145deg,#f7f1ff,#fff); box-shadow:var(--shadow-sm); }
.intel-query { overflow:hidden; border:1px solid var(--border-light); border-radius:20px; background:#fff; }
.intel-query-head { padding:20px; border-bottom:1px solid var(--border-light); background:#fbfaff; }
.intel-query-head small { display:block; margin-bottom:5px; color:var(--muted); font-family:var(--font-mono); font-size:.64rem; }
.intel-query-head strong { font-family:var(--font-mono); font-size:.86rem; }
.intel-source-row { display:grid; grid-template-columns:135px 1fr; gap:18px; align-items:center; padding:16px 20px; border-top:1px solid var(--border-light); }
.intel-source-row:nth-child(2) { border-top:0; }
.intel-source-row > span { color:var(--muted); font-size:.75rem; }
.intel-source-row > strong { font-size:.82rem; }
.reputation { justify-self:start; padding:6px 10px; border-radius:999px; font-size:.7rem; font-weight:700; }
.reputation.bad { color:#b84d59; background:rgba(255,102,117,.10); }
.intel-note { position:absolute; right:-24px; bottom:-30px; max-width:270px; display:grid; grid-template-columns:36px 1fr; gap:12px; padding:15px; border:1px solid var(--border-light); border-radius:17px; background:#fff; box-shadow:var(--shadow-sm); }
.intel-note > span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--brand-light); color:var(--brand); font-size:1.1rem; }
.intel-note strong,.intel-note small { display:block; }
.intel-note strong { margin-bottom:3px; font-size:.82rem; }
.intel-note small { color:var(--muted); font-size:.72rem; line-height:1.4; }

/* PIVOTS */
.pivot-section { padding:112px 48px 126px; background:radial-gradient(circle at 14% 65%,rgba(124,58,237,.07),transparent 28%),linear-gradient(180deg,#fbf9ff 0%,#fff 100%); }
.pivot-heading,.pivot-workflow { width:min(1260px,100%); margin-left:auto; margin-right:auto; }
.pivot-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.72fr); gap:74px; align-items:end; margin-bottom:58px; }
.pivot-heading h2 { max-width:760px; }
.pivot-heading > p { margin:0; color:var(--text-2); font-size:1.03rem; line-height:1.7; }
.pivot-workflow { display:grid; grid-template-columns:.72fr auto 1.28fr; gap:28px; align-items:center; }
.pivot-indicator { padding:28px; border:1px solid var(--border-light); border-radius:24px; background:#fff; box-shadow:var(--shadow-sm); }
.pivot-indicator small { display:block; margin-bottom:7px; color:var(--muted); font-family:var(--font-mono); font-size:.64rem; }
.pivot-indicator strong { display:block; margin-bottom:6px; font-family:var(--font-mono); font-size:1rem; }
.pivot-indicator span { color:var(--brand); font-size:.76rem; font-weight:700; }
.pivot-arrow { color:var(--brand); font-size:1.5rem; }
.pivot-destinations { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.pivot-destinations a { display:grid; grid-template-columns:42px 1fr auto; gap:13px; align-items:center; min-height:82px; padding:14px 16px; border:1px solid var(--border-light); border-radius:18px; background:#fff; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.pivot-destinations a:hover { transform:translateY(-2px); border-color:rgba(124,58,237,.28); box-shadow:var(--shadow-sm); }
.pivot-destinations a > span { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; background:var(--brand-light); color:var(--brand); font-family:var(--font-mono); font-size:.66rem; font-weight:800; }
.pivot-destinations strong,.pivot-destinations small { display:block; }
.pivot-destinations strong { margin-bottom:3px; font-size:.85rem; }
.pivot-destinations small { color:var(--muted); font-size:.7rem; }
.pivot-destinations b { color:var(--brand); font-size:1rem; }

/* ACTION */
.action-section { width:min(1320px,calc(100% - 48px)); margin:24px auto 0; padding:84px 76px; display:grid; grid-template-columns:1.15fr .85fr; gap:80px; align-items:center; border-radius:40px; color:#fff; background:radial-gradient(circle at 8% 5%,rgba(124,58,237,.24),transparent 28%),linear-gradient(145deg,#080312,#150925 62%,#090313); box-shadow:0 40px 100px rgba(7,3,15,.18); }
.action-window { overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:24px; background:#09040f; }
.action-top span { color:#c5afff; font-weight:700; }
.selected-iocs { padding:14px 0; }
.selected-iocs > div { display:grid; grid-template-columns:65px 1fr 24px; gap:12px; align-items:center; padding:12px 20px; border-top:1px solid rgba(255,255,255,.06); }
.selected-iocs > div:first-child { border-top:0; }
.selected-iocs span { color:#af97ef; font-family:var(--font-mono); font-size:.62rem; }
.selected-iocs code { overflow:hidden; color:rgba(255,255,255,.72); font-family:var(--font-mono); font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.selected-iocs b { color:#78dda9; }
.export-bar { display:flex; justify-content:space-between; gap:15px; align-items:center; padding:16px 20px; border-top:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.025); }
.export-bar > span { color:rgba(255,255,255,.42); font-size:.68rem; }
.export-bar div { display:flex; gap:8px; }
.export-bar b { padding:6px 9px; border-radius:8px; background:rgba(124,58,237,.16); color:#d7c7ff; font-size:.65rem; }
.action-copy p { color:rgba(255,255,255,.66); }
.action-note { padding-left:18px; border-left:2px solid rgba(196,169,255,.52); color:rgba(255,255,255,.52) !important; font-size:.92rem !important; }

/* RESULT */
.result-section { width:min(1260px,calc(100% - 48px)); margin:0 auto; padding:130px 0 118px; display:grid; grid-template-columns:.82fr 1.18fr; gap:88px; align-items:start; }
.result-copy p { max-width:620px; margin:23px 0 0; color:var(--text-2); font-size:1.03rem; line-height:1.72; }
.result-levels { display:grid; }
.result-levels > div { display:grid; grid-template-columns:135px 1fr; gap:24px; padding:26px 0; border-top:1px solid var(--border-light); }
.result-levels > div:last-child { border-bottom:1px solid var(--border-light); }
.result-levels span { color:var(--brand); font-size:.78rem; font-weight:800; }
.result-levels strong { font-size:1.03rem; line-height:1.45; }

/* CLOSING */
.closing-section { width:min(1320px,calc(100% - 48px)); margin:0 auto 110px; display:grid; grid-template-columns:1.08fr .92fr; align-items:stretch; }
.privacy-panel { min-height:440px; padding:64px 68px; display:grid; grid-template-columns:64px 1fr; gap:27px; align-content:center; border-radius:38px; color:#fff; background:radial-gradient(circle at 15% 12%,rgba(124,58,237,.28),transparent 32%),linear-gradient(145deg,#090313,#160b26); }
.privacy-icon { width:60px; height:60px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:19px; background:rgba(255,255,255,.08); color:#d9c7ff; }
.privacy-panel p { max-width:650px; margin:21px 0 0; color:rgba(255,255,255,.67); font-size:1rem; line-height:1.7; }
.cta-panel { position:relative; z-index:3; align-self:center; margin-left:-34px; padding:54px 48px; border:1px solid var(--border-light); border-radius:32px; background:rgba(255,255,255,.985); box-shadow:0 32px 80px rgba(13,17,23,.13); }
.cta-panel h2 { font-size:clamp(1.9rem,2.4vw,2.65rem); }
.cta-panel p { margin:20px 0 0; color:var(--text-2); font-size:.98rem; line-height:1.65; }
.cta-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }

/* FAQ */
.faq-section { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:12px 0 110px; display:grid; grid-template-columns:minmax(280px,.55fr) minmax(0,1fr); gap:60px; align-items:start; }
.faq-copy h2 { font-size:clamp(1.9rem,2.5vw,2.7rem); }
.faq-list { display:grid; }
.faq-list article { padding:23px 0; border-top:1px solid var(--border-light); }
.faq-list article:last-child { border-bottom:1px solid var(--border-light); }
.faq-list h3 { margin:0 0 8px; font-size:1rem; }
.faq-list p { margin:0; color:var(--text-2); font-size:.9rem; line-height:1.62; }

/* FOOTER */
.site-footer { padding:30px 48px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; background:#090413; color:rgba(255,255,255,.42); font-family:var(--font-sans); }
.site-footer .footer-logo { color:#fff; font-size:1.08rem; font-weight:900; }
.site-footer .footer-links { display:flex; gap:22px; margin:0; padding:0; list-style:none; }
.site-footer .footer-links a { color:inherit; text-decoration:none; font-size:.84rem; }
.site-footer .footer-links a:hover { color:#fff; }
.site-footer > span { font-size:.8rem; }

/* RESPONSIVE */
@media (max-width:1160px) {
  .ioc-hero { grid-template-columns:minmax(0,.88fr) minmax(460px,1.12fr); gap:42px; }
  .hero-copy h1 { font-size:clamp(2.8rem,4.4vw,4.25rem); }
  .extract-section,.intel-section,.action-section,.result-section { gap:54px; }
  .action-section { padding:68px 52px; }
}

@media (max-width:980px) {
  .ioc-hero { width:min(100% - 36px,860px); min-height:auto; grid-template-columns:1fr; gap:70px; padding:80px 0; }
  .hero-visual { transform:none; }
  .chip-top { right:16px; }
  .chip-bottom { left:16px; }

  .decision-rail { width:min(100% - 36px,860px); grid-template-columns:1fr; }
  .rail-label { padding-bottom:14px; }
  .decision-rail > div:not(.rail-label) { padding:15px 0; border-top:1px solid var(--border-light); }
  .decision-rail > div:not(.rail-label)::before { display:none; }

  .story-intro { width:min(100% - 36px,820px); }
  .extract-section,.intel-section,.result-section,.action-section { width:min(100% - 36px,860px); grid-template-columns:1fr; gap:48px; }
  .extract-visual { min-height:500px; }

  .sort-band { padding:90px 20px 100px; }
  .sort-heading { grid-template-columns:1fr; gap:22px; }
  .sort-layout { grid-template-columns:1fr; }
  .sort-tabs { grid-template-columns:repeat(4,1fr); }

  .intel-note { right:18px; }

  .pivot-section { padding:90px 20px 100px; }
  .pivot-heading { grid-template-columns:1fr; gap:22px; }
  .pivot-workflow { grid-template-columns:1fr; }
  .pivot-arrow { transform:rotate(90deg); text-align:center; }

  .action-copy { order:1; }
  .action-window { order:2; }

  .closing-section { width:min(100% - 36px,860px); grid-template-columns:1fr; }
  .privacy-panel { padding:56px 44px 88px; }
  .cta-panel { margin:-42px 28px 0; }

  .faq-section { width:min(100% - 36px,860px); grid-template-columns:1fr; gap:28px; }
}

@media (max-width:680px) {
  .ioc-hero { width:calc(100% - 28px); padding-top:62px; gap:58px; }
  .hero-copy h1 { font-size:clamp(2.4rem,10vw,3.25rem); }
  .hero-sub { font-size:1rem; }
  .hero-proof { grid-template-columns:1fr; gap:15px; }
  .hero-proof > div { padding-bottom:13px; border-bottom:1px solid var(--border-light); }
  .hero-proof > div:last-child { border-bottom:0; }
  .ioc-main .btn,.ioc-main .btn-xl { width:100%; }
  .hero-actions { align-items:stretch; }
  .text-link { justify-content:center; }

  .ioc-body { padding:20px; }
  .window-bar { grid-template-columns:auto 1fr; }
  .window-state { display:none; }
  .ioc-summary { gap:12px; }
  .ioc-score { min-width:68px; height:68px; }
  .ioc-score b { font-size:1.25rem; }
  .ioc-line { grid-template-columns:56px 1fr; }
  .ioc-line > b { display:none; }
  .quick-actions { flex-direction:column; align-items:flex-start; }
  .floating-chip { position:static; margin-top:12px; }
  .chip-top { display:none; }
  .hero-orbit { display:none; }

  .decision-rail,.story-intro,.extract-section,.intel-section,.action-section,.result-section,.closing-section,.faq-section { width:calc(100% - 28px); }
  .story-intro { padding:84px 0 74px; text-align:left; }
  .story-intro h2,.extract-copy h2,.sort-heading h2,.intel-copy h2,.pivot-heading h2,.action-copy h2,.result-copy h2,.privacy-panel h2,.faq-copy h2 { font-size:clamp(1.9rem,8vw,2.6rem); }
  .story-intro p,.extract-copy p,.intel-copy > p,.action-copy p,.result-copy p { font-size:.98rem; }

  .extract-section { padding:56px 0 84px; }
  .extract-visual { min-height:620px; }
  .source-file { width:145px; height:145px; }
  .artifact { width:min(270px,86%); }
  .artifact-domain { left:0; top:0; }
  .artifact-ip { right:0; top:130px; }
  .artifact-url { left:0; bottom:135px; }
  .artifact-hash { right:0; bottom:0; }
  .extract-lines i { width:170px; }

  .sort-band { padding:74px 14px 82px; }
  .sort-tabs { grid-template-columns:1fr 1fr; }
  .priority { grid-template-columns:36px 1fr; padding:14px; }
  .priority > b { display:none; }

  .intel-section { padding-top:90px; padding-bottom:90px; }
  .intel-visual { padding:20px; }
  .intel-source-row { grid-template-columns:1fr; gap:5px; }
  .intel-note { position:static; margin-top:12px; max-width:none; }

  .pivot-section { padding:76px 14px 84px; }
  .pivot-destinations { grid-template-columns:1fr; }

  .action-section { padding:46px 22px; border-radius:28px; }
  .action-top { grid-template-columns:auto 1fr; }
  .action-top > span { display:none; }
  .selected-iocs > div { grid-template-columns:55px 1fr; padding:11px 14px; }
  .selected-iocs b { display:none; }
  .export-bar { flex-direction:column; align-items:flex-start; }

  .result-section { grid-template-columns:1fr; padding:88px 0 84px; }
  .result-levels > div { grid-template-columns:1fr; gap:6px; }

  .privacy-panel { min-height:0; grid-template-columns:1fr; padding:46px 25px 82px; border-radius:28px; }
  .cta-panel { margin:-42px 14px 0; padding:38px 23px; border-radius:24px; }
  .cta-actions { flex-direction:column; }

  .faq-section { padding-bottom:84px; }
  .site-footer { padding:28px 20px; flex-direction:column; text-align:center; }
  .site-footer .footer-links { flex-wrap:wrap; justify-content:center; }
}
