/* ============================================================
   Incomesify Infographic Tool 3.0 — Premium UI shell
   Designed for digital product sellers: trust, elegance, clarity
   ============================================================ */

#ii-app{
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  max-width: 1480px;
  margin: 0 auto;
  color: #0f172a;
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 40%, #eef2ff 100%);
  padding: 0 12px 40px;
  min-height: 100vh;
}
#ii-app *{ box-sizing: border-box; }

/* ---- Hero brand bar ---- */
.ii-hero-bar{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 22px 8px 18px;
  flex-wrap: wrap;
}
.ii-hero-left{ display: flex; align-items: center; gap: 14px; }
.ii-logo-mark{
  width: 44px; height: 44px;
  border-radius: 12px;
  background: #0f172a;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 24px rgba(15,23,42,.25);
  flex: 0 0 auto;
}
.ii-brand{
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.02em;
  color: #0f172a;
  line-height: 1.15;
}
.ii-brand span{
  background: linear-gradient(90deg, #7c3aed, #ec4899, #06b6d4);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.ii-tagline{
  font-size: 13px;
  color: #64748b;
  margin-top: 3px;
  font-weight: 500;
}
.ii-hero-right{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}
.ii-trust-pills{ display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.ii-pill{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .02em;
  color: #4c1d95;
  background: #ede9fe;
  border: 1px solid #ddd6fe;
  padding: 5px 11px;
  border-radius: 999px;
}
.ii-actions{ display: flex; gap: 8px; flex-wrap: wrap; }

/* ---- Buttons ---- */
.ii-btn{
  border: 1px solid #e2e8f0;
  background: #fff;
  padding: 10px 16px;
  border-radius: 11px;
  font-weight: 650;
  font-size: 13.5px;
  cursor: pointer;
  color: #0f172a;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
  box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.ii-btn:hover{ transform: translateY(-1px); box-shadow: 0 6px 16px rgba(15,23,42,.08); }
.ii-btn.primary{
  background: linear-gradient(135deg, #7c3aed 0%, #a855f7 50%, #ec4899 100%);
  border: none;
  color: #fff;
  box-shadow: 0 8px 20px rgba(124,58,237,.35);
}
.ii-btn.primary:hover{ box-shadow: 0 10px 28px rgba(124,58,237,.45); }
.ii-btn.primary.lg{ padding: 13px 22px; font-size: 15px; border-radius: 12px; }
.ii-btn.ghost{ background: transparent; border-color: #cbd5e1; color: #475569; }
.ii-btn:disabled{ opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }

/* ---- Value strip ---- */
.ii-value-strip{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 6px 0 18px;
  padding: 0 2px;
}
.ii-value-item{
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 14px 16px;
  box-shadow: 0 4px 14px rgba(15,23,42,.04);
}
.ii-value-item strong{
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 4px;
}
.ii-value-item span{
  font-size: 12px;
  color: #64748b;
  line-height: 1.4;
}

/* ---- Cards ---- */
.ii-input-card,
.ii-controls-card{
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 20px 22px 22px;
  margin-bottom: 16px;
  box-shadow: 0 10px 30px rgba(15,23,42,.05);
}
.ii-section-head{ margin-bottom: 14px; }
.ii-section-title{
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #4c1d95;
  margin-bottom: 4px;
}
.ii-section-sub{
  font-size: 13.5px;
  color: #64748b;
  line-height: 1.45;
}
.ii-hint{
  margin-top: 8px;
  font-size: 12px;
  color: #94a3b8;
  line-height: 1.4;
}

/* ---- Inputs ---- */
.ii-input-row{ display: flex; gap: 10px; }
.ii-input-row input{
  flex: 1;
  padding: 13px 16px;
  border: 1.5px solid #e2e8f0;
  border-radius: 12px;
  font-size: 14px;
  background: #f8fafc;
  color: #0f172a;
  transition: border-color .15s, box-shadow .15s;
}
.ii-input-row input:focus{
  outline: none;
  border-color: #a78bfa;
  box-shadow: 0 0 0 3px rgba(167,139,250,.25);
  background: #fff;
}
.ii-or{
  text-align: center;
  margin: 14px 0;
  position: relative;
  color: #94a3b8;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ii-or span{
  background: #fff;
  padding: 0 12px;
  position: relative;
  z-index: 1;
}
.ii-or::before{
  content: '';
  position: absolute;
  left: 0; right: 0; top: 50%;
  height: 1px;
  background: #e2e8f0;
}
#ii-app textarea,
.ii-input-card textarea{
  width: 100%;
  min-height: 120px;
  padding: 14px 16px;
  border: 1.5px solid #e2e8f0;
  border-radius: 12px;
  font-size: 14px;
  resize: vertical;
  background: #f8fafc;
  color: #0f172a;
  line-height: 1.5;
  font-family: inherit;
}
#ii-app textarea:focus{
  outline: none;
  border-color: #a78bfa;
  box-shadow: 0 0 0 3px rgba(167,139,250,.25);
  background: #fff;
}
.ii-input-bottom{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.ii-status, #ii-status{
  font-size: 13px;
  color: #64748b;
  font-weight: 500;
}

/* ---- Control blocks ---- */
.ii-control-block{ margin-bottom: 18px; }
.ii-control-block:last-child{ margin-bottom: 0; }
.ii-styles{ display: flex; gap: 8px; flex-wrap: wrap; }
.ii-style{
  border: 1.5px solid #e2e8f0;
  background: #f8fafc;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 650;
  cursor: pointer;
  color: #475569;
  transition: all .15s ease;
}
.ii-style:hover{ border-color: #c4b5fd; color: #5b21b6; background: #f5f3ff; }
.ii-style.active{
  background: linear-gradient(135deg, #7c3aed, #a855f7);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 4px 14px rgba(124,58,237,.3);
}

/* Size controls */
.ii-size-controls{ display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ii-select{
  padding: 11px 14px;
  border: 1.5px solid #e2e8f0;
  border-radius: 11px;
  background: #f8fafc;
  font-size: 13.5px;
  min-width: 260px;
  color: #0f172a;
  font-weight: 500;
}
.ii-custom-size{ display: flex; align-items: center; gap: 8px; }
.ii-custom-size input{
  width: 100px;
  padding: 10px 12px;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  font-size: 13px;
  background: #f8fafc;
}
.ii-size-label{
  font-size: 12px;
  color: #64748b;
  font-weight: 650;
  background: #f1f5f9;
  padding: 6px 12px;
  border-radius: 8px;
}

/* ---- Workspace ---- */
.ii-workspace{
  display: grid;
  grid-template-columns: 240px 1fr 270px;
  gap: 16px;
  padding: 4px 0 12px;
  align-items: start;
}
.ii-panel{
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 8px 24px rgba(15,23,42,.05);
}
.ii-panel-label{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #94a3b8;
  margin-bottom: 12px;
}
.ii-panel h3{
  margin: 0 0 12px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #94a3b8;
  font-weight: 800;
}
.ii-side-btn{
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  text-align: left;
  padding: 11px 12px;
  margin-bottom: 7px;
  border: 1.5px solid #e2e8f0;
  background: #f8fafc;
  border-radius: 11px;
  cursor: pointer;
  font-size: 13.5px;
  font-weight: 600;
  color: #334155;
  transition: all .12s ease;
}
.ii-side-btn:hover{
  border-color: #c4b5fd;
  background: #f5f3ff;
  color: #5b21b6;
}
.ii-ico{
  width: 24px; height: 24px;
  border-radius: 7px;
  background: #ede9fe;
  color: #7c3aed;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px;
  font-weight: 800;
  flex: 0 0 24px;
}
.ii-panel-divider, .ii-panel hr{
  border: none;
  border-top: 1px solid #e2e8f0;
  margin: 14px 0;
  height: 0;
}
.ii-muted{ color: #94a3b8; font-size: 12.5px; line-height: 1.5; }
.ii-asset-toggle{ display: flex; gap: 6px; margin-bottom: 10px; }
.ii-toggle{
  flex: 1;
  padding: 8px 10px;
  border-radius: 9px;
  border: 1.5px solid #e2e8f0;
  background: #f8fafc;
  font-size: 12.5px;
  font-weight: 650;
  cursor: pointer;
  color: #64748b;
}
.ii-toggle.active{
  background: #0f172a;
  color: #fff;
  border-color: #0f172a;
}
.ii-asset-search-row{ margin: 8px 0 10px; }
#ii-assets{ display: grid; gap: 10px; max-height: 480px; overflow: auto; }
.ii-asset{
  border: 1.5px solid #e2e8f0;
  border-radius: 12px;
  padding: 8px;
  background: #fff;
}
.ii-asset img{
  width: 100%; height: 80px; object-fit: cover;
  border-radius: 8px; display: block; margin-bottom: 6px; background: #f1f5f9;
}
.ii-asset .ii-asset-meta{ font-size: 10px; color: #94a3b8; margin-bottom: 6px; }
.ii-use-asset{
  width: 100%; padding: 7px;
  border-radius: 8px;
  border: 1.5px solid #e2e8f0;
  background: #f8fafc;
  cursor: pointer;
  font-size: 12px;
  font-weight: 650;
  color: #475569;
}
.ii-use-asset:hover{ background: #ede9fe; border-color: #c4b5fd; color: #5b21b6; }
.ii-use-asset:disabled{ opacity: .5; cursor: not-allowed; }

/* Canvas */
.ii-canvas-wrap{
  overflow: auto;
  background: linear-gradient(145deg, #e0e7ff 0%, #fce7f3 50%, #e0f2fe 100%);
  border-radius: 18px;
  padding: 28px 14px;
  display: flex;
  justify-content: center;
  min-width: 0;
  max-height: 78vh;
  border: 1px solid #e2e8f0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
.ii-canvas-stage{
  background: transparent;
  width: 100%;
  max-width: 900px;
  position: relative;
  overflow: visible;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-height: 100px;
}
.ii-sheet{
  flex: 0 0 auto;
  transform-origin: top center;
  box-shadow: 0 20px 50px rgba(15,23,42,.15), 0 0 0 1px rgba(15,23,42,.04);
  border-radius: 4px;
}

/* Footer */
.ii-footer-bar{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 18px 8px 8px;
  font-size: 12px;
  color: #94a3b8;
  font-weight: 500;
}
.ii-footer-bar .ii-dot{ opacity: .5; }

/* Responsive */
@media (max-width: 1100px){
  .ii-workspace{ grid-template-columns: 1fr; }
  .ii-value-strip{ grid-template-columns: 1fr 1fr; }
  .ii-hero-right{ align-items: flex-start; }
}
@media (max-width: 640px){
  .ii-value-strip{ grid-template-columns: 1fr; }
}

/* Legacy class aliases so older JS still styles correctly */
.ii-stylebar, .ii-sizebar{ display: contents; }
.ii-label{ display: none; }
.ii-btn.accent{ background: linear-gradient(135deg, #7c3aed, #ec4899); border: none; color: #fff; }


/* ---- the infographic sheet itself ---- */
.ii-sheet{width:100%;min-height:400px;padding:56px 56px 70px;position:relative;box-sizing:border-box}
.ii-title{font-size:44px;font-weight:800;line-height:1.12;margin:0 0 8px;outline:none}
.ii-subtitle{font-size:19px;line-height:1.5;margin:0 0 34px;outline:none;opacity:.85}
.ii-block{position:relative;margin-bottom:20px;outline:none}
.ii-block.selected{box-shadow:0 0 0 2px var(--ii-accent);border-radius:10px}
.ii-block[contenteditable="true"]:hover{background:rgba(0,0,0,.02);border-radius:8px}
.ii-block-controls{position:absolute;top:-14px;right:-10px;display:none;gap:5px;z-index:5}
.ii-block:hover .ii-block-controls,.ii-image-block:hover .ii-block-controls{display:flex}
.ii-block-controls button{width:24px;height:24px;border-radius:50%;border:1px solid #ddd;background:#fff;color:#333;font-size:12px;line-height:1;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.ii-block-delete{background:#e53935 !important;color:#fff !important;border-color:#e53935 !important}

/* free-floating image/graphic blocks */
.ii-image-block{position:absolute;cursor:move;z-index:10;user-select:none}
.ii-image-block img{width:100%;height:auto;display:block;border-radius:8px;pointer-events:none;box-shadow:0 6px 20px rgba(0,0,0,.15)}
.ii-image-block.selected img{outline:2px solid var(--ii-accent,#ff6f00)}
.ii-resize-handle{position:absolute;right:-7px;bottom:-7px;width:16px;height:16px;background:#fff;border:2px solid var(--ii-accent,#ff6f00);border-radius:50%;cursor:nwse-resize;z-index:6}

/* text formatting toolbar (right panel) */
.ii-prop{margin-bottom:10px}
.ii-prop label{display:block;font-size:10px;color:#777;margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}
.ii-prop input{width:100%;box-sizing:border-box;padding:8px;border:1px solid #ddd;border-radius:8px;font-size:14px}
.ii-prop input[type=color]{padding:3px;height:36px;cursor:pointer}
.ii-toggle{border:1px solid #ddd;background:#fff;padding:7px 12px;border-radius:8px;cursor:pointer;font-size:13px}
.ii-toggle.active{background:#111;color:#fff;border-color:#111}
.ii-prop-row{display:flex;gap:6px;margin-bottom:10px}
.ii-asset-toggle{display:flex;gap:6px;margin-bottom:4px}
.ii-asset-toggle .ii-toggle{flex:1;padding:6px 8px;font-size:12px;text-align:center}
.ii-heading-block{font-size:30px;font-weight:800;line-height:1.25}
.ii-text-block{font-size:17px;line-height:1.6}
.ii-hero{padding:6px 0 8px}
.ii-hero-head{display:flex;align-items:center;gap:14px;margin-bottom:8px}
.ii-hero-icon{width:44px;height:44px;flex:0 0 auto;border-radius:12px;background:var(--ii-accent-fade);display:flex;align-items:center;justify-content:center}
.ii-hero-icon svg{width:24px;height:24px;stroke:var(--ii-accent)}
.ii-hero-heading{font-size:32px;font-weight:800}
.ii-hero-body{font-size:17px;line-height:1.6;opacity:.85}

.ii-stat-card{background:var(--ii-accent);color:#fff;border-radius:20px;padding:30px 34px;display:flex;align-items:center;gap:24px;box-shadow:0 12px 30px rgba(0,0,0,.15)}
.ii-stat-value{font-size:58px;font-weight:800;line-height:1;flex:0 0 auto;min-width:120px}
.ii-stat-label{font-size:19px;font-weight:600;line-height:1.4;flex:1}
.ii-stat-icon{width:44px;height:44px;flex:0 0 auto;opacity:.9}
.ii-stat-icon svg{width:100%;height:100%;stroke:#fff}

.ii-step-row{display:flex;align-items:center;gap:18px;background:var(--ii-card-bg);border-radius:18px;padding:18px 22px;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.ii-step-badge{width:46px;height:46px;border-radius:50%;border:3px solid var(--ii-accent);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:19px;color:var(--ii-accent);flex:0 0 auto;background:#fff}
.ii-step-text{flex:1;font-size:17px;font-weight:600;line-height:1.45}
.ii-step-icon{width:30px;height:30px;flex:0 0 auto;opacity:.8}
.ii-step-icon svg{width:100%;height:100%;stroke:var(--ii-accent)}

.ii-quote-card{background:var(--ii-card-bg);border-radius:18px;padding:30px 36px;box-shadow:0 6px 18px rgba(0,0,0,.08);position:relative}
.ii-quote-mark{font-size:52px;font-weight:800;color:var(--ii-accent);line-height:.6;display:block;margin-bottom:8px}
.ii-quote-text{font-size:20px;font-weight:600;line-height:1.55}

.ii-text-card{background:var(--ii-card-bg);border-radius:16px;padding:22px 26px;border-left:6px solid var(--ii-accent);box-shadow:0 6px 16px rgba(0,0,0,.06)}
.ii-text-card .ii-heading-block{font-size:22px;margin-bottom:6px}
.ii-text-card .ii-text-block{font-size:16px}

.ii-compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:14px}
.ii-compare-cell{background:var(--ii-accent-fade);border-radius:12px;padding:14px;font-size:14px;font-weight:600;text-align:center}

.ii-footer{text-align:center;font-size:12px;opacity:.5;margin-top:30px}

/* ---- themes: each just sets CSS variables + a couple structural tweaks ---- */
.ii-theme-editorial{--ii-bg:#f7f4ee;--ii-text:#1a1a1a;--ii-accent:#ff6f00;--ii-accent-fade:#ff6f0022;--ii-card-bg:#ffffff;background:var(--ii-bg);color:var(--ii-text);font-family:Georgia,'Times New Roman',serif}
.ii-theme-editorial .ii-title,.ii-theme-editorial .ii-hero-heading,.ii-theme-editorial .ii-heading-block{font-family:-apple-system,'Segoe UI',sans-serif}

.ii-theme-minimal{--ii-bg:#ffffff;--ii-text:#111111;--ii-accent:#111111;--ii-accent-fade:#11111111;--ii-card-bg:#fafafa;background:var(--ii-bg);color:var(--ii-text);font-family:-apple-system,'Segoe UI',sans-serif}
.ii-theme-minimal .ii-stat-card,.ii-theme-minimal .ii-step-row,.ii-theme-minimal .ii-quote-card,.ii-theme-minimal .ii-text-card{box-shadow:none;border:1px solid #eee}

.ii-theme-dark{--ii-bg:#12141c;--ii-text:#f2f2f5;--ii-accent:#7c8cff;--ii-accent-fade:#7c8cff22;--ii-card-bg:#1b1f2c;background:var(--ii-bg);color:var(--ii-text);font-family:-apple-system,'Segoe UI',sans-serif}
.ii-theme-dark .ii-step-badge{background:#1b1f2c}

.ii-theme-bold{--ii-bg:#fff200;--ii-text:#111111;--ii-accent:#111111;--ii-accent-fade:#11111122;--ii-card-bg:#ffffff;background:var(--ii-bg);color:var(--ii-text);font-family:'Arial Black',Impact,sans-serif}
.ii-theme-bold .ii-stat-card{background:#111;color:#fff}
.ii-theme-bold .ii-stat-icon svg{stroke:#fff}

.ii-theme-magazine{--ii-bg:#ffffff;--ii-text:#1a1a1a;--ii-accent:#c81e4a;--ii-accent-fade:#c81e4a22;--ii-card-bg:#faf7f8;background:var(--ii-bg);color:var(--ii-text);font-family:Georgia,serif}
.ii-theme-magazine .ii-title{text-transform:uppercase;letter-spacing:.02em}

.ii-theme-playful{--ii-bg:#eafaf1;--ii-text:#123;--ii-accent:#00b894;--ii-accent-fade:#00b89422;--ii-card-bg:#ffffff;background:var(--ii-bg);color:var(--ii-text);font-family:-apple-system,'Segoe UI',sans-serif}
.ii-theme-playful .ii-step-row,.ii-theme-playful .ii-stat-card,.ii-theme-playful .ii-quote-card,.ii-theme-playful .ii-text-card{border-radius:26px}

@media (max-width:1100px){
 .ii-workspace{grid-template-columns:1fr}
 .ii-sheet{width:100%;max-width:900px}
}

/* 2.3.0: exact output dimensions + scaled editor preview */
.ii-sizebar{padding:10px 6px 18px;border-bottom:1px solid #eee}
.ii-size-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ii-select{padding:9px 12px;border:1px solid #ddd;border-radius:9px;background:#fff;font-size:13px;min-width:250px}
.ii-custom-size{display:flex;align-items:center;gap:7px}
.ii-custom-size input{width:105px;padding:9px 10px;border:1px solid #ddd;border-radius:9px;font-size:13px}
.ii-size-label{font-size:12px;color:#777;font-weight:600}
.ii-canvas-stage{position:relative;overflow:visible;display:flex;justify-content:center;align-items:flex-start;min-height:100px}
.ii-sheet{flex:0 0 auto;transform-origin:top center}
.ii-stat-card .ii-stat-value,.ii-stat-card .ii-stat-label{color:#fff}
.ii-stat-card .ii-stat-value{display:block}
.ii-stat-card .ii-stat-label{display:block}
.ii-hero-heading,.ii-hero-body,.ii-heading-block,.ii-text-block,.ii-step-text,.ii-quote-text,.ii-compare-cell{color:inherit}
.ii-load-more{width:100%;margin-top:2px;background:#fff}
.ii-asset-meta{text-transform:none;white-space:normal;line-height:1.35}
.ii-asset-source{display:block;font-size:10px;color:#666;text-decoration:underline;margin:0 0 6px}

/* 2.3.1: Smart composition. The infographic does not simply shrink when the
   user chooses a compact format. These levels progressively tighten the
   actual layout while keeping text at a useful reading size. */
.ii-density-compact{padding:42px 44px 52px}
.ii-density-compact .ii-title{font-size:39px;line-height:1.08;margin-bottom:6px}
.ii-density-compact .ii-subtitle{font-size:17px;line-height:1.38;margin-bottom:22px}
.ii-density-compact .ii-block{margin-bottom:13px}
.ii-density-compact .ii-heading-block{font-size:26px;line-height:1.18}
.ii-density-compact .ii-text-block{font-size:15px;line-height:1.42}
.ii-density-compact .ii-hero{padding:2px 0 4px}
.ii-density-compact .ii-hero-head{gap:10px;margin-bottom:5px}
.ii-density-compact .ii-hero-icon{width:38px;height:38px;border-radius:10px}
.ii-density-compact .ii-hero-heading{font-size:27px;line-height:1.12}
.ii-density-compact .ii-hero-body{font-size:15px;line-height:1.42}
.ii-density-compact .ii-stat-card{padding:20px 22px;gap:15px;border-radius:16px}
.ii-density-compact .ii-stat-value{font-size:46px;min-width:92px}
.ii-density-compact .ii-stat-label{font-size:16px;line-height:1.3}
.ii-density-compact .ii-stat-icon{width:36px;height:36px}
.ii-density-compact .ii-step-row{gap:12px;padding:13px 16px;border-radius:14px}
.ii-density-compact .ii-step-badge{width:38px;height:38px;font-size:16px}
.ii-density-compact .ii-step-text{font-size:15px;line-height:1.32}
.ii-density-compact .ii-step-icon{width:25px;height:25px}
.ii-density-compact .ii-quote-card{padding:20px 24px;border-radius:15px}
.ii-density-compact .ii-quote-mark{font-size:42px;margin-bottom:4px}
.ii-density-compact .ii-quote-text{font-size:17px;line-height:1.4}
.ii-density-compact .ii-text-card{padding:16px 19px;border-radius:13px}
.ii-density-compact .ii-text-card .ii-heading-block{font-size:19px}
.ii-density-compact .ii-text-card .ii-text-block{font-size:14px}
.ii-density-compact .ii-compare-grid{gap:8px;margin-top:9px}
.ii-density-compact .ii-compare-cell{padding:10px;font-size:12px}
.ii-density-compact .ii-footer{margin-top:16px}

.ii-density-tight{padding:34px 38px 44px}
.ii-density-tight .ii-title{font-size:35px}
.ii-density-tight .ii-subtitle{font-size:15px;margin-bottom:17px}
.ii-density-tight .ii-block{margin-bottom:9px}
.ii-density-tight .ii-heading-block{font-size:23px}
.ii-density-tight .ii-text-block{font-size:14px;line-height:1.34}
.ii-density-tight .ii-hero-heading{font-size:24px}
.ii-density-tight .ii-hero-body{font-size:14px;line-height:1.34}
.ii-density-tight .ii-stat-card{padding:15px 17px;gap:11px}
.ii-density-tight .ii-stat-value{font-size:39px;min-width:76px}
.ii-density-tight .ii-stat-label{font-size:14px}
.ii-density-tight .ii-stat-icon{width:31px;height:31px}
.ii-density-tight .ii-step-row{gap:9px;padding:10px 12px}
.ii-density-tight .ii-step-badge{width:32px;height:32px;font-size:14px}
.ii-density-tight .ii-step-text{font-size:13px;line-height:1.28}
.ii-density-tight .ii-step-icon{width:22px;height:22px}
.ii-density-tight .ii-quote-card{padding:15px 18px}
.ii-density-tight .ii-quote-text{font-size:15px;line-height:1.32}
.ii-density-tight .ii-text-card{padding:12px 15px;border-left-width:4px}
.ii-density-tight .ii-text-card .ii-heading-block{font-size:17px}
.ii-density-tight .ii-text-card .ii-text-block{font-size:13px}
.ii-density-tight .ii-compare-grid{gap:6px;margin-top:7px}
.ii-density-tight .ii-compare-cell{padding:8px;font-size:11px}
.ii-density-tight .ii-footer{margin-top:10px}

.ii-density-ultra{padding:27px 30px 34px}
.ii-density-ultra .ii-title{font-size:31px}
.ii-density-ultra .ii-subtitle{font-size:14px;margin-bottom:13px}
.ii-density-ultra .ii-block{margin-bottom:7px}
.ii-density-ultra .ii-heading-block{font-size:20px}
.ii-density-ultra .ii-text-block{font-size:13px;line-height:1.28}
.ii-density-ultra .ii-hero-heading{font-size:21px}
.ii-density-ultra .ii-hero-body{font-size:13px;line-height:1.28}
.ii-density-ultra .ii-stat-card{padding:12px 14px;gap:8px}
.ii-density-ultra .ii-stat-value{font-size:34px;min-width:65px}
.ii-density-ultra .ii-stat-label{font-size:13px}
.ii-density-ultra .ii-stat-icon{width:27px;height:27px}
.ii-density-ultra .ii-step-row{gap:7px;padding:8px 10px}
.ii-density-ultra .ii-step-badge{width:28px;height:28px;border-width:2px;font-size:12px}
.ii-density-ultra .ii-step-text{font-size:12px;line-height:1.24}
.ii-density-ultra .ii-step-icon{width:19px;height:19px}
.ii-density-ultra .ii-quote-card{padding:12px 15px}
.ii-density-ultra .ii-quote-mark{font-size:34px;margin-bottom:2px}
.ii-density-ultra .ii-quote-text{font-size:14px;line-height:1.28}
.ii-density-ultra .ii-text-card{padding:10px 12px}
.ii-density-ultra .ii-text-card .ii-heading-block{font-size:15px}
.ii-density-ultra .ii-text-card .ii-text-block{font-size:12px}
.ii-density-ultra .ii-compare-cell{padding:6px;font-size:10px}
.ii-density-ultra .ii-footer{margin-top:7px;font-size:10px}

/* Last-resort compression is still text-aware: it tightens the composition
   further rather than applying a blurry transform to the entire infographic. */
.ii-density-final{padding:22px 24px 28px}
.ii-density-final .ii-title{font-size:28px;line-height:1.05}
.ii-density-final .ii-subtitle{font-size:12px;line-height:1.2;margin-bottom:9px}
.ii-density-final .ii-block{margin-bottom:5px}
.ii-density-final .ii-heading-block{font-size:18px}
.ii-density-final .ii-text-block,.ii-density-final .ii-hero-body{font-size:12px;line-height:1.2}
.ii-density-final .ii-hero-heading{font-size:19px}
.ii-density-final .ii-stat-card{padding:9px 11px;gap:6px}
.ii-density-final .ii-stat-value{font-size:29px;min-width:55px}
.ii-density-final .ii-stat-label{font-size:12px;line-height:1.18}
.ii-density-final .ii-stat-icon{width:23px;height:23px}
.ii-density-final .ii-step-row{gap:5px;padding:6px 8px}
.ii-density-final .ii-step-badge{width:24px;height:24px;font-size:11px}
.ii-density-final .ii-step-text{font-size:11px;line-height:1.18}
.ii-density-final .ii-step-icon{width:17px;height:17px}
.ii-density-final .ii-quote-card{padding:9px 11px}
.ii-density-final .ii-quote-text{font-size:12px;line-height:1.2}
.ii-density-final .ii-text-card{padding:8px 10px}
.ii-density-final .ii-text-card .ii-heading-block{font-size:14px}
.ii-density-final .ii-text-card .ii-text-block{font-size:11px}
.ii-density-final .ii-compare-cell{padding:5px;font-size:9px}
.ii-density-final .ii-footer{display:none}

/* 2.3.2: Tall-canvas composition. These levels deliberately enlarge the
   existing content so long formats are filled with a designed rhythm instead
   of ending early and leaving a large blank area. */
.ii-density-roomy{padding:68px 62px 82px}
.ii-density-roomy .ii-title{font-size:48px;line-height:1.1;margin-bottom:12px}
.ii-density-roomy .ii-subtitle{font-size:21px;line-height:1.5;margin-bottom:40px}
.ii-density-roomy .ii-block{margin-bottom:27px}
.ii-density-roomy .ii-heading-block{font-size:34px;line-height:1.2}
.ii-density-roomy .ii-text-block{font-size:19px;line-height:1.62}
.ii-density-roomy .ii-hero-head{gap:17px;margin-bottom:11px}
.ii-density-roomy .ii-hero-icon{width:50px;height:50px;border-radius:14px}
.ii-density-roomy .ii-hero-heading{font-size:36px;line-height:1.15}
.ii-density-roomy .ii-hero-body{font-size:19px;line-height:1.55}
.ii-density-roomy .ii-stat-card{padding:36px 40px;gap:28px;border-radius:22px}
.ii-density-roomy .ii-stat-value{font-size:64px;min-width:132px}
.ii-density-roomy .ii-stat-label{font-size:21px;line-height:1.45}
.ii-density-roomy .ii-stat-icon{width:50px;height:50px}
.ii-density-roomy .ii-step-row{gap:20px;padding:22px 26px;border-radius:20px}
.ii-density-roomy .ii-step-badge{width:52px;height:52px;font-size:21px}
.ii-density-roomy .ii-step-text{font-size:19px;line-height:1.48}
.ii-density-roomy .ii-step-icon{width:34px;height:34px}
.ii-density-roomy .ii-quote-card{padding:36px 42px;border-radius:21px}
.ii-density-roomy .ii-quote-mark{font-size:60px;margin-bottom:10px}
.ii-density-roomy .ii-quote-text{font-size:23px;line-height:1.55}
.ii-density-roomy .ii-text-card{padding:28px 32px;border-radius:19px}
.ii-density-roomy .ii-text-card .ii-heading-block{font-size:25px}
.ii-density-roomy .ii-text-card .ii-text-block{font-size:18px}
.ii-density-roomy .ii-compare-grid{gap:14px;margin-top:16px}
.ii-density-roomy .ii-compare-cell{padding:17px;font-size:16px}
.ii-density-roomy .ii-footer{margin-top:36px}

.ii-density-roomier{padding:78px 68px 96px}
.ii-density-roomier .ii-title{font-size:53px;margin-bottom:14px}
.ii-density-roomier .ii-subtitle{font-size:23px;margin-bottom:48px}
.ii-density-roomier .ii-block{margin-bottom:34px}
.ii-density-roomier .ii-heading-block{font-size:38px}
.ii-density-roomier .ii-text-block{font-size:21px;line-height:1.66}
.ii-density-roomier .ii-hero-head{gap:19px;margin-bottom:13px}
.ii-density-roomier .ii-hero-icon{width:56px;height:56px}
.ii-density-roomier .ii-hero-heading{font-size:40px}
.ii-density-roomier .ii-hero-body{font-size:21px;line-height:1.6}
.ii-density-roomier .ii-stat-card{padding:43px 48px;gap:32px}
.ii-density-roomier .ii-stat-value{font-size:72px;min-width:148px}
.ii-density-roomier .ii-stat-label{font-size:23px}
.ii-density-roomier .ii-stat-icon{width:56px;height:56px}
.ii-density-roomier .ii-step-row{gap:24px;padding:27px 31px}
.ii-density-roomier .ii-step-badge{width:58px;height:58px;font-size:23px}
.ii-density-roomier .ii-step-text{font-size:21px;line-height:1.52}
.ii-density-roomier .ii-step-icon{width:38px;height:38px}
.ii-density-roomier .ii-quote-card{padding:44px 50px}
.ii-density-roomier .ii-quote-text{font-size:26px;line-height:1.58}
.ii-density-roomier .ii-text-card{padding:34px 38px}
.ii-density-roomier .ii-text-card .ii-heading-block{font-size:28px}
.ii-density-roomier .ii-text-card .ii-text-block{font-size:20px}
.ii-density-roomier .ii-compare-grid{gap:17px;margin-top:19px}
.ii-density-roomier .ii-compare-cell{padding:20px;font-size:18px}
.ii-density-roomier .ii-footer{margin-top:44px}

.ii-density-expanded{padding:88px 74px 108px}
.ii-density-expanded .ii-title{font-size:58px;line-height:1.08;margin-bottom:16px}
.ii-density-expanded .ii-subtitle{font-size:25px;line-height:1.5;margin-bottom:55px}
.ii-density-expanded .ii-block{margin-bottom:42px}
.ii-density-expanded .ii-heading-block{font-size:42px;line-height:1.18}
.ii-density-expanded .ii-text-block{font-size:23px;line-height:1.68}
.ii-density-expanded .ii-hero-head{gap:21px;margin-bottom:15px}
.ii-density-expanded .ii-hero-icon{width:62px;height:62px;border-radius:16px}
.ii-density-expanded .ii-hero-heading{font-size:44px}
.ii-density-expanded .ii-hero-body{font-size:23px;line-height:1.62}
.ii-density-expanded .ii-stat-card{padding:50px 56px;gap:38px;border-radius:25px}
.ii-density-expanded .ii-stat-value{font-size:82px;min-width:168px}
.ii-density-expanded .ii-stat-label{font-size:25px;line-height:1.48}
.ii-density-expanded .ii-stat-icon{width:62px;height:62px}
.ii-density-expanded .ii-step-row{gap:28px;padding:31px 36px;border-radius:22px}
.ii-density-expanded .ii-step-badge{width:64px;height:64px;font-size:25px}
.ii-density-expanded .ii-step-text{font-size:23px;line-height:1.55}
.ii-density-expanded .ii-step-icon{width:42px;height:42px}
.ii-density-expanded .ii-quote-card{padding:52px 60px;border-radius:24px}
.ii-density-expanded .ii-quote-mark{font-size:70px}
.ii-density-expanded .ii-quote-text{font-size:29px;line-height:1.58}
.ii-density-expanded .ii-text-card{padding:40px 46px;border-radius:22px}
.ii-density-expanded .ii-text-card .ii-heading-block{font-size:31px}
.ii-density-expanded .ii-text-card .ii-text-block{font-size:22px}
.ii-density-expanded .ii-compare-grid{gap:20px;margin-top:22px}
.ii-density-expanded .ii-compare-cell{padding:23px;font-size:20px}
.ii-density-expanded .ii-footer{margin-top:52px}

.ii-density-max{padding:96px 80px 120px}
.ii-density-max .ii-title{font-size:64px;line-height:1.06;margin-bottom:18px}
.ii-density-max .ii-subtitle{font-size:27px;line-height:1.48;margin-bottom:62px}
.ii-density-max .ii-block{margin-bottom:50px}
.ii-density-max .ii-heading-block{font-size:46px}
.ii-density-max .ii-text-block{font-size:25px;line-height:1.7}
.ii-density-max .ii-hero-heading{font-size:48px}
.ii-density-max .ii-hero-body{font-size:25px;line-height:1.65}
.ii-density-max .ii-stat-card{padding:58px 64px;gap:44px}
.ii-density-max .ii-stat-value{font-size:92px;min-width:190px}
.ii-density-max .ii-stat-label{font-size:27px}
.ii-density-max .ii-stat-icon{width:68px;height:68px}
.ii-density-max .ii-step-row{gap:31px;padding:36px 42px}
.ii-density-max .ii-step-badge{width:70px;height:70px;font-size:27px}
.ii-density-max .ii-step-text{font-size:25px;line-height:1.56}
.ii-density-max .ii-step-icon{width:46px;height:46px}
.ii-density-max .ii-quote-card{padding:60px 68px}
.ii-density-max .ii-quote-text{font-size:32px;line-height:1.6}
.ii-density-max .ii-text-card{padding:46px 54px}
.ii-density-max .ii-text-card .ii-heading-block{font-size:34px}
.ii-density-max .ii-text-card .ii-text-block{font-size:24px}
.ii-density-max .ii-compare-grid{gap:23px;margin-top:25px}
.ii-density-max .ii-compare-cell{padding:26px;font-size:22px}
.ii-density-max .ii-footer{margin-top:60px}
/* ============================================================
   PRO STEP LAYOUTS (2.4.0) — inspired by premium Freepik-style
   vertical process / option cards. Pure CSS, no images required.
   ============================================================ */

/* Shared palette for multi-color steps (cycles per index) */
.ii-steps-group[data-layout] {
  --c0: #e53935;
  --c1: #8e1b5b;
  --c2: #1a237e;
  --c3: #00838f;
  --c4: #2e7d32;
  --c5: #ef6c00;
  --c6: #6a1b9a;
  --c7: #c62828;
}

/* ---------- 1. CLASSIC (existing, kept as baseline) ---------- */
/* already defined as .ii-step-row */

/* ---------- 2. TABBED  (image 1 style) ---------- */
.ii-layout-tabbed .ii-step-card {
  display: flex;
  align-items: stretch;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
  margin-bottom: 16px;
  overflow: hidden;
  position: relative;
  min-height: 92px;
}
.ii-layout-tabbed .ii-step-tab {
  width: 58px;
  flex: 0 0 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 800;
  font-size: 22px;
  border-radius: 16px 0 0 16px;
  position: relative;
}
.ii-layout-tabbed .ii-step-tab::after {
  content: '';
  position: absolute;
  right: -14px;
  top: 50%;
  transform: translateY(-50%);
  width: 0; height: 0;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  border-left: 14px solid currentColor;
}
.ii-layout-tabbed .ii-step-body {
  flex: 1;
  padding: 18px 20px 18px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ii-layout-tabbed .ii-step-title {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 4px;
  outline: none;
}
.ii-layout-tabbed .ii-step-desc {
  font-size: 13.5px;
  line-height: 1.4;
  opacity: 1;
  outline: none;
  color: #334155 !important;
  font-weight: 500;
}
.ii-layout-tabbed .ii-step-card {
  color: #1e293b;
}
.ii-layout-tabbed .ii-step-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  gap: 8px;
}
.ii-layout-tabbed .ii-step-icon-wrap {
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
}
.ii-layout-tabbed .ii-step-icon-wrap svg {
  width: 28px; height: 28px; stroke-width: 1.8;
}
.ii-layout-tabbed .ii-step-chevrons {
  display: flex; flex-direction: column; gap: 2px; opacity: .35;
}
.ii-layout-tabbed .ii-step-chevrons span {
  width: 10px; height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}

/* color per index */
.ii-layout-tabbed .ii-step-card:nth-child(1) .ii-step-tab,
.ii-layout-tabbed .ii-step-card:nth-child(1) .ii-step-title,
.ii-layout-tabbed .ii-step-card:nth-child(1) .ii-step-icon-wrap { color: var(--c0); }
.ii-layout-tabbed .ii-step-card:nth-child(1) .ii-step-tab { background: var(--c0); color: #fff; }
.ii-layout-tabbed .ii-step-card:nth-child(2) .ii-step-tab,
.ii-layout-tabbed .ii-step-card:nth-child(2) .ii-step-title,
.ii-layout-tabbed .ii-step-card:nth-child(2) .ii-step-icon-wrap { color: var(--c1); }
.ii-layout-tabbed .ii-step-card:nth-child(2) .ii-step-tab { background: var(--c1); color: #fff; }
.ii-layout-tabbed .ii-step-card:nth-child(3) .ii-step-tab,
.ii-layout-tabbed .ii-step-card:nth-child(3) .ii-step-title,
.ii-layout-tabbed .ii-step-card:nth-child(3) .ii-step-icon-wrap { color: var(--c2); }
.ii-layout-tabbed .ii-step-card:nth-child(3) .ii-step-tab { background: var(--c2); color: #fff; }
.ii-layout-tabbed .ii-step-card:nth-child(4) .ii-step-tab,
.ii-layout-tabbed .ii-step-card:nth-child(4) .ii-step-title,
.ii-layout-tabbed .ii-step-card:nth-child(4) .ii-step-icon-wrap { color: var(--c3); }
.ii-layout-tabbed .ii-step-card:nth-child(4) .ii-step-tab { background: var(--c3); color: #fff; }
.ii-layout-tabbed .ii-step-card:nth-child(5) .ii-step-tab,
.ii-layout-tabbed .ii-step-card:nth-child(5) .ii-step-title,
.ii-layout-tabbed .ii-step-card:nth-child(5) .ii-step-icon-wrap { color: var(--c4); }
.ii-layout-tabbed .ii-step-card:nth-child(5) .ii-step-tab { background: var(--c4); color: #fff; }
.ii-layout-tabbed .ii-step-card:nth-child(6) .ii-step-tab,
.ii-layout-tabbed .ii-step-card:nth-child(6) .ii-step-title,
.ii-layout-tabbed .ii-step-card:nth-child(6) .ii-step-icon-wrap { color: var(--c5); }
.ii-layout-tabbed .ii-step-card:nth-child(6) .ii-step-tab { background: var(--c5); color: #fff; }
.ii-layout-tabbed .ii-step-card:nth-child(7) .ii-step-tab,
.ii-layout-tabbed .ii-step-card:nth-child(7) .ii-step-title,
.ii-layout-tabbed .ii-step-card:nth-child(7) .ii-step-icon-wrap { color: var(--c6); }
.ii-layout-tabbed .ii-step-card:nth-child(7) .ii-step-tab { background: var(--c6); color: #fff; }
.ii-layout-tabbed .ii-step-card:nth-child(8) .ii-step-tab,
.ii-layout-tabbed .ii-step-card:nth-child(8) .ii-step-title,
.ii-layout-tabbed .ii-step-card:nth-child(8) .ii-step-icon-wrap { color: var(--c7); }
.ii-layout-tabbed .ii-step-card:nth-child(8) .ii-step-tab { background: var(--c7); color: #fff; }

/* ---------- 3. BAR  (image 2 style) ---------- */
.ii-layout-bar .ii-step-card {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,.09);
  margin-bottom: 14px;
  padding: 20px 24px;
  gap: 20px;
  min-height: 88px;
}
.ii-layout-bar .ii-step-num {
  font-size: 42px;
  font-weight: 300;
  color: #b0b0b0;
  line-height: 1;
  min-width: 64px;
  text-align: center;
  flex: 0 0 auto;
}
.ii-layout-bar .ii-step-num small {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #999;
  margin-bottom: 2px;
}
.ii-layout-bar .ii-step-bar {
  width: 10px;
  height: 56px;
  border-radius: 99px;
  flex: 0 0 10px;
  background: linear-gradient(180deg, #a855f7, #7c3aed);
}
.ii-layout-bar .ii-step-card:nth-child(1) .ii-step-bar { background: linear-gradient(180deg,#c084fc,#7c3aed); }
.ii-layout-bar .ii-step-card:nth-child(2) .ii-step-bar { background: linear-gradient(180deg,#2dd4bf,#0d9488); }
.ii-layout-bar .ii-step-card:nth-child(3) .ii-step-bar { background: linear-gradient(180deg,#fb923c,#ea580c); }
.ii-layout-bar .ii-step-card:nth-child(4) .ii-step-bar { background: linear-gradient(180deg,#f87171,#dc2626); }
.ii-layout-bar .ii-step-card:nth-child(5) .ii-step-bar { background: linear-gradient(180deg,#60a5fa,#2563eb); }
.ii-layout-bar .ii-step-card:nth-child(6) .ii-step-bar { background: linear-gradient(180deg,#4ade80,#16a34a); }
.ii-layout-bar .ii-step-icon-circle {
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 1.5px solid #d1d5db;
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 44px;
  color: #6b7280;
}
.ii-layout-bar .ii-step-icon-circle svg { width: 22px; height: 22px; }
.ii-layout-bar .ii-step-body { flex: 1; min-width: 0; }
.ii-layout-bar .ii-step-title {
  font-size: 15px; font-weight: 700; margin-bottom: 3px; outline: none;
}
.ii-layout-bar .ii-step-desc {
  font-size: 13px; line-height: 1.4; opacity: 1; outline: none;
  color: #334155 !important; font-weight: 500;
}
.ii-layout-bar .ii-step-card { color: #1e293b; }
.ii-layout-bar .ii-step-num { color: #64748b !important; }
.ii-layout-bar .ii-step-num small { color: #94a3b8 !important; }
.ii-layout-bar .ii-step-card:nth-child(1) .ii-step-title { color: #7c3aed; }
.ii-layout-bar .ii-step-card:nth-child(2) .ii-step-title { color: #0d9488; }
.ii-layout-bar .ii-step-card:nth-child(3) .ii-step-title { color: #ea580c; }
.ii-layout-bar .ii-step-card:nth-child(4) .ii-step-title { color: #dc2626; }
.ii-layout-bar .ii-step-card:nth-child(5) .ii-step-title { color: #2563eb; }
.ii-layout-bar .ii-step-card:nth-child(6) .ii-step-title { color: #16a34a; }

/* ---------- 4. RIBBON  (image 3 style) ---------- */
.ii-layout-ribbon .ii-step-card {
  display: flex;
  align-items: stretch;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
  margin-bottom: 16px;
  overflow: visible;
  position: relative;
  min-height: 78px;
}
.ii-layout-ribbon .ii-step-ribbon {
  position: relative;
  width: 110px;
  flex: 0 0 110px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 800;
  clip-path: polygon(0 0, 78% 0, 100% 50%, 78% 100%, 0 100%);
  border-radius: 12px 0 0 12px;
  padding-right: 12px;
}
.ii-layout-ribbon .ii-step-ribbon .ii-step-label {
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .9;
  font-weight: 600;
}
.ii-layout-ribbon .ii-step-ribbon .ii-step-num {
  font-size: 28px;
  line-height: 1;
  margin-top: 2px;
}
.ii-layout-ribbon .ii-step-body {
  flex: 1;
  padding: 16px 20px 16px 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ii-layout-ribbon .ii-step-title {
  font-size: 15px;
  font-weight: 800;
  margin-bottom: 3px;
  outline: none;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.ii-layout-ribbon .ii-step-desc {
  font-size: 13px;
  line-height: 1.4;
  opacity: 1;
  outline: none;
  color: #334155 !important;
  font-weight: 500;
}
.ii-layout-ribbon .ii-step-card { color: #1e293b; background: #fff; }
.ii-layout-ribbon .ii-step-title { color: #1e293b !important; }
.ii-layout-ribbon .ii-step-card:nth-child(1) .ii-step-ribbon { background: linear-gradient(135deg,#ef4444,#b91c1c); }
.ii-layout-ribbon .ii-step-card:nth-child(2) .ii-step-ribbon { background: linear-gradient(135deg,#a3e635,#65a30d); }
.ii-layout-ribbon .ii-step-card:nth-child(3) .ii-step-ribbon { background: linear-gradient(135deg,#c084fc,#7c3aed); }
.ii-layout-ribbon .ii-step-card:nth-child(4) .ii-step-ribbon { background: linear-gradient(135deg,#fb923c,#ea580c); }
.ii-layout-ribbon .ii-step-card:nth-child(5) .ii-step-ribbon { background: linear-gradient(135deg,#38bdf8,#0284c7); }
.ii-layout-ribbon .ii-step-card:nth-child(6) .ii-step-ribbon { background: linear-gradient(135deg,#f472b6,#db2777); }

/* ---------- 5. BANNER  (image 4 style) ---------- */
.ii-layout-banner .ii-step-card {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
  position: relative;
}
.ii-layout-banner .ii-step-icon-pill {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 14px rgba(0,0,0,.12);
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 56px;
  z-index: 2;
  margin-right: -18px;
  color: #0d9488;
}
.ii-layout-banner .ii-step-icon-pill svg { width: 26px; height: 26px; }
.ii-layout-banner .ii-step-banner {
  flex: 1;
  display: flex;
  align-items: center;
  border-radius: 0 999px 999px 0;
  padding: 14px 22px 14px 30px;
  color: #fff;
  min-height: 64px;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}
.ii-layout-banner .ii-step-num {
  font-size: 28px;
  font-weight: 800;
  margin-right: 16px;
  opacity: .95;
  min-width: 42px;
}
.ii-layout-banner .ii-step-body { flex: 1; min-width: 0; }
.ii-layout-banner .ii-step-title {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 2px;
  outline: none;
  color: #fff !important;
}
.ii-layout-banner .ii-step-desc {
  font-size: 12.5px;
  line-height: 1.35;
  opacity: 1;
  outline: none;
  color: #fff !important;
  font-weight: 500;
}
.ii-layout-banner .ii-step-num { color: #fff !important; }
.ii-layout-banner .ii-step-card:nth-child(1) .ii-step-banner { background: linear-gradient(90deg,#14b8a6,#0d9488); }
.ii-layout-banner .ii-step-card:nth-child(1) .ii-step-icon-pill { color: #0d9488; }
.ii-layout-banner .ii-step-card:nth-child(2) .ii-step-banner { background: linear-gradient(90deg,#fbbf24,#f59e0b); }
.ii-layout-banner .ii-step-card:nth-child(2) .ii-step-icon-pill { color: #d97706; }
.ii-layout-banner .ii-step-card:nth-child(3) .ii-step-banner { background: linear-gradient(90deg,#f97316,#ea580c); }
.ii-layout-banner .ii-step-card:nth-child(3) .ii-step-icon-pill { color: #ea580c; }
.ii-layout-banner .ii-step-card:nth-child(4) .ii-step-banner { background: linear-gradient(90deg,#ec4899,#db2777); }
.ii-layout-banner .ii-step-card:nth-child(4) .ii-step-icon-pill { color: #db2777; }
.ii-layout-banner .ii-step-card:nth-child(5) .ii-step-banner { background: linear-gradient(90deg,#8b5cf6,#7c3aed); }
.ii-layout-banner .ii-step-card:nth-child(5) .ii-step-icon-pill { color: #7c3aed; }
.ii-layout-banner .ii-step-card:nth-child(6) .ii-step-banner { background: linear-gradient(90deg,#3b82f6,#2563eb); }
.ii-layout-banner .ii-step-card:nth-child(6) .ii-step-icon-pill { color: #2563eb; }

/* Dark theme adjustments so layouts stay readable */
.ii-theme-dark .ii-layout-tabbed .ii-step-card,
.ii-theme-dark .ii-layout-bar .ii-step-card,
.ii-theme-dark .ii-layout-ribbon .ii-step-card {
  background: var(--ii-card-bg);
  color: var(--ii-text);
}
.ii-theme-dark .ii-layout-bar .ii-step-num { color: #6b7280; }
.ii-theme-dark .ii-layout-bar .ii-step-icon-circle { border-color: #374151; color: #9ca3af; }
.ii-theme-dark .ii-layout-banner .ii-step-icon-pill { background: var(--ii-card-bg); }

/* Density awareness for the new layouts (keep readable) */
.ii-density-compact .ii-layout-tabbed .ii-step-card,
.ii-density-tight .ii-layout-tabbed .ii-step-card { min-height: 72px; }
.ii-density-compact .ii-layout-tabbed .ii-step-title,
.ii-density-tight .ii-layout-tabbed .ii-step-title { font-size: 14px; }
.ii-density-compact .ii-layout-tabbed .ii-step-desc,
.ii-density-tight .ii-layout-tabbed .ii-step-desc { font-size: 12px; }
.ii-density-compact .ii-layout-bar .ii-step-num,
.ii-density-tight .ii-layout-bar .ii-step-num { font-size: 32px; }
.ii-density-compact .ii-layout-ribbon .ii-step-ribbon,
.ii-density-tight .ii-layout-ribbon .ii-step-ribbon { width: 92px; flex-basis: 92px; }
.ii-density-compact .ii-layout-banner .ii-step-icon-pill,
.ii-density-tight .ii-layout-banner .ii-step-icon-pill { width: 46px; height: 46px; }

/* ============================================================
   2.5.0 — Additional pro step layouts (chevron, zigzag, bignum,
   tag, snake). Designed to closely match premium Freepik-style
   screenshots using pure CSS.
   ============================================================ */

/* ---------- CHEVRON STACK ---------- */
.ii-layout-chevron .ii-steps-cards {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  padding-left: 4px;
}
.ii-layout-chevron .ii-chevron-row {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 0;
  position: relative;
  min-height: 92px;
}
.ii-layout-chevron .ii-chevron-block {
  width: 100px;
  height: 92px;
  flex: 0 0 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 800;
  clip-path: polygon(0 0, 100% 0, 100% 72%, 50% 100%, 0 72%);
  margin-bottom: -18px;
  position: relative;
  z-index: 2;
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
}
.ii-layout-chevron .ii-chevron-label {
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .95;
  font-weight: 700;
}
.ii-layout-chevron .ii-chevron-num {
  font-size: 30px;
  line-height: 1;
  margin-top: 2px;
}
.ii-layout-chevron .ii-chevron-line {
  width: 36px;
  flex: 0 0 36px;
  height: 2px;
  background: #c5c5c5;
  position: relative;
  margin: 0 6px;
}
.ii-layout-chevron .ii-chevron-dot {
  position: absolute;
  left: -5px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: currentColor;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px currentColor;
}
.ii-layout-chevron .ii-step-body {
  flex: 1;
  min-width: 0;
  padding: 8px 4px 8px 8px;
}
.ii-layout-chevron .ii-step-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 4px;
}
.ii-layout-chevron .ii-step-title {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  outline: none;
}
.ii-layout-chevron .ii-step-desc {
  font-size: 13px;
  line-height: 1.45;
  opacity: 1;
  outline: none;
  max-width: 420px;
  color: #334155 !important;
  font-weight: 500;
}
.ii-layout-chevron .ii-step-icon-wrap {
  width: 36px; height: 36px;
  flex: 0 0 36px;
  display: flex; align-items: center; justify-content: center;
}
.ii-layout-chevron .ii-step-icon-wrap svg { width: 28px; height: 28px; }

/* chevron colors */
.ii-layout-chevron .ii-chevron-row:nth-child(1) .ii-chevron-block,
.ii-layout-chevron .ii-chevron-row:nth-child(1) .ii-chevron-dot,
.ii-layout-chevron .ii-chevron-row:nth-child(1) .ii-step-title,
.ii-layout-chevron .ii-chevron-row:nth-child(1) .ii-step-icon-wrap { color: #0e7490; }
.ii-layout-chevron .ii-chevron-row:nth-child(1) .ii-chevron-block { background: linear-gradient(180deg,#0e7490,#155e75); color:#fff; }
.ii-layout-chevron .ii-chevron-row:nth-child(2) .ii-chevron-block,
.ii-layout-chevron .ii-chevron-row:nth-child(2) .ii-chevron-dot,
.ii-layout-chevron .ii-chevron-row:nth-child(2) .ii-step-title,
.ii-layout-chevron .ii-chevron-row:nth-child(2) .ii-step-icon-wrap { color: #0891b2; }
.ii-layout-chevron .ii-chevron-row:nth-child(2) .ii-chevron-block { background: linear-gradient(180deg,#06b6d4,#0891b2); color:#fff; }
.ii-layout-chevron .ii-chevron-row:nth-child(3) .ii-chevron-block,
.ii-layout-chevron .ii-chevron-row:nth-child(3) .ii-chevron-dot,
.ii-layout-chevron .ii-chevron-row:nth-child(3) .ii-step-title,
.ii-layout-chevron .ii-chevron-row:nth-child(3) .ii-step-icon-wrap { color: #65a30d; }
.ii-layout-chevron .ii-chevron-row:nth-child(3) .ii-chevron-block { background: linear-gradient(180deg,#84cc16,#65a30d); color:#fff; }
.ii-layout-chevron .ii-chevron-row:nth-child(4) .ii-chevron-block,
.ii-layout-chevron .ii-chevron-row:nth-child(4) .ii-chevron-dot,
.ii-layout-chevron .ii-chevron-row:nth-child(4) .ii-step-title,
.ii-layout-chevron .ii-chevron-row:nth-child(4) .ii-step-icon-wrap { color: #ea580c; }
.ii-layout-chevron .ii-chevron-row:nth-child(4) .ii-chevron-block { background: linear-gradient(180deg,#fb923c,#ea580c); color:#fff; }
.ii-layout-chevron .ii-chevron-row:nth-child(5) .ii-chevron-block,
.ii-layout-chevron .ii-chevron-row:nth-child(5) .ii-chevron-dot,
.ii-layout-chevron .ii-chevron-row:nth-child(5) .ii-step-title,
.ii-layout-chevron .ii-chevron-row:nth-child(5) .ii-step-icon-wrap { color: #dc2626; }
.ii-layout-chevron .ii-chevron-row:nth-child(5) .ii-chevron-block { background: linear-gradient(180deg,#f87171,#dc2626); color:#fff; }
.ii-layout-chevron .ii-chevron-row:nth-child(6) .ii-chevron-block,
.ii-layout-chevron .ii-chevron-row:nth-child(6) .ii-chevron-dot,
.ii-layout-chevron .ii-chevron-row:nth-child(6) .ii-step-title,
.ii-layout-chevron .ii-chevron-row:nth-child(6) .ii-step-icon-wrap { color: #7c3aed; }
.ii-layout-chevron .ii-chevron-row:nth-child(6) .ii-chevron-block { background: linear-gradient(180deg,#a78bfa,#7c3aed); color:#fff; }

/* ---------- ZIGZAG CARDS ---------- */
.ii-layout-zigzag .ii-steps-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px 28px;
  position: relative;
  padding: 8px 4px 20px;
}
.ii-layout-zigzag .ii-zigzag-card {
  position: relative;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(0,0,0,.12);
  padding: 18px 18px 18px 22px;
  min-height: 110px;
  display: flex;
  flex-direction: column;
  overflow: visible;
}
.ii-layout-zigzag .ii-side-right {
  margin-top: 36px;
}
.ii-layout-zigzag .ii-hex-icon {
  position: absolute;
  top: -14px;
  width: 36px; height: 36px;
  background: #fff;
  clip-path: polygon(25% 6%, 75% 6%, 100% 50%, 75% 94%, 25% 94%, 0 50%);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 3px 10px rgba(0,0,0,.15);
  z-index: 3;
}
.ii-layout-zigzag .ii-side-left .ii-hex-icon { left: -10px; }
.ii-layout-zigzag .ii-side-right .ii-hex-icon { right: -10px; left: auto; }
.ii-layout-zigzag .ii-hex-icon svg { width: 18px; height: 18px; stroke-width: 2.2; }
.ii-layout-zigzag .ii-zig-num {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 6px;
}
.ii-layout-zigzag .ii-zig-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: .9;
}
.ii-layout-zigzag .ii-zig-digit {
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
  color: #fff;
  background: rgba(0,0,0,.12);
  padding: 2px 10px;
  border-radius: 6px;
}
.ii-layout-zigzag .ii-step-title {
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 4px;
  outline: none;
  color: #fff !important;
}
.ii-layout-zigzag .ii-step-desc {
  font-size: 12.5px;
  line-height: 1.35;
  opacity: 1;
  outline: none;
  color: #fff !important;
  font-weight: 500;
}
.ii-layout-zigzag .ii-zig-label { color: #fff !important; }
.ii-layout-zigzag .ii-zig-digit { color: #fff !important; background: rgba(0,0,0,.18); }
/* solid color cards */
.ii-layout-zigzag .ii-zigzag-card:nth-child(1) { background: #0d9488; }
.ii-layout-zigzag .ii-zigzag-card:nth-child(2) { background: #2563eb; }
.ii-layout-zigzag .ii-zigzag-card:nth-child(3) { background: #7c3aed; }
.ii-layout-zigzag .ii-zigzag-card:nth-child(4) { background: #dc2626; }
.ii-layout-zigzag .ii-zigzag-card:nth-child(5) { background: #d97706; }
.ii-layout-zigzag .ii-zigzag-card:nth-child(6) { background: #059669; }
.ii-layout-zigzag .ii-hex-icon { color: inherit; }
.ii-layout-zigzag .ii-zigzag-card:nth-child(1) .ii-hex-icon { color: #0d9488; }
.ii-layout-zigzag .ii-zigzag-card:nth-child(2) .ii-hex-icon { color: #2563eb; }
.ii-layout-zigzag .ii-zigzag-card:nth-child(3) .ii-hex-icon { color: #7c3aed; }
.ii-layout-zigzag .ii-zigzag-card:nth-child(4) .ii-hex-icon { color: #dc2626; }
.ii-layout-zigzag .ii-zigzag-card:nth-child(5) .ii-hex-icon { color: #d97706; }
.ii-layout-zigzag .ii-zigzag-card:nth-child(6) .ii-hex-icon { color: #059669; }

/* connector lines between zigzag cards */
.ii-layout-zigzag .ii-zig-connector {
  position: absolute;
  width: 40px; height: 2px;
  background: currentColor;
  opacity: .55;
  z-index: 1;
}
.ii-layout-zigzag .ii-side-left .ii-zig-connector {
  right: -34px; top: 50%;
}
.ii-layout-zigzag .ii-side-right .ii-zig-connector {
  left: -34px; top: 28%;
}

/* ---------- BIG NUMBERS ---------- */
.ii-layout-bignum .ii-steps-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px 36px;
  padding: 12px 8px 8px;
}
.ii-layout-bignum .ii-bignum-card {
  position: relative;
  display: flex;
  align-items: stretch;
  min-height: 140px;
}
.ii-layout-bignum .ii-big-num {
  font-size: 120px;
  font-weight: 900;
  line-height: .85;
  letter-spacing: -.04em;
  position: absolute;
  left: -6px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  opacity: .95;
  pointer-events: none;
  user-select: none;
}
.ii-layout-bignum .ii-bignum-panel {
  position: relative;
  z-index: 2;
  margin-left: 52px;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  padding: 22px 18px 16px;
  border: 1px solid #e8e8e8;
  flex: 1;
  min-width: 0;
}
.ii-layout-bignum .ii-bignum-ribbon {
  position: absolute;
  top: 10px;
  right: -8px;
  background: #e53935;
  color: #fff !important;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 5px 14px 5px 12px;
  clip-path: polygon(0 0, 100% 0, 92% 50%, 100% 100%, 0 100%);
}
/* color the number + ribbon + left accent */
.ii-layout-bignum .ii-bignum-card:nth-child(1) .ii-big-num { color: #e53935; }
.ii-layout-bignum .ii-bignum-card:nth-child(1) .ii-bignum-ribbon { background: #e53935; color: #fff !important; }
.ii-layout-bignum .ii-bignum-card:nth-child(1) .ii-bignum-panel { border-left: 5px solid #e53935; }
.ii-layout-bignum .ii-bignum-card:nth-child(2) .ii-big-num { color: #f59e0b; }
.ii-layout-bignum .ii-bignum-card:nth-child(2) .ii-bignum-ribbon { background: #f59e0b; color: #fff !important; }
.ii-layout-bignum .ii-bignum-card:nth-child(2) .ii-bignum-panel { border-left: 5px solid #f59e0b; }
.ii-layout-bignum .ii-bignum-card:nth-child(3) .ii-big-num { color: #14b8a6; }
.ii-layout-bignum .ii-bignum-card:nth-child(3) .ii-bignum-ribbon { background: #14b8a6; color: #fff !important; }
.ii-layout-bignum .ii-bignum-card:nth-child(3) .ii-bignum-panel { border-left: 5px solid #14b8a6; }
.ii-layout-bignum .ii-bignum-card:nth-child(4) .ii-big-num { color: #334155; }
.ii-layout-bignum .ii-bignum-card:nth-child(4) .ii-bignum-ribbon { background: #334155; color: #fff !important; }
.ii-layout-bignum .ii-bignum-card:nth-child(4) .ii-bignum-panel { border-left: 5px solid #334155; }
.ii-layout-bignum .ii-bignum-card:nth-child(5) .ii-big-num { color: #64748b; }
.ii-layout-bignum .ii-bignum-card:nth-child(5) .ii-bignum-ribbon { background: #64748b; color: #fff !important; }
.ii-layout-bignum .ii-bignum-card:nth-child(5) .ii-bignum-panel { border-left: 5px solid #64748b; }
.ii-layout-bignum .ii-bignum-card:nth-child(6) .ii-big-num { color: #22c55e; }
.ii-layout-bignum .ii-bignum-card:nth-child(6) .ii-bignum-ribbon { background: #22c55e; color: #fff !important; }
.ii-layout-bignum .ii-bignum-card:nth-child(6) .ii-bignum-panel { border-left: 5px solid #22c55e; }

.ii-layout-bignum .ii-step-title {
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 6px;
  outline: none;
  color: #222;
}
.ii-layout-bignum .ii-step-desc {
  font-size: 12.5px;
  line-height: 1.4;
  opacity: .75;
  outline: none;
  color: #444;
}

/* ---------- TAG LABELS ---------- */
.ii-layout-tag .ii-steps-cards {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 6px 0;
}
.ii-layout-tag .ii-tag-row {
  display: flex;
  align-items: center;
  gap: 0;
  min-height: 72px;
}
.ii-layout-tag .ii-tag-badge {
  width: 58px; height: 58px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 58px;
  position: relative;
  z-index: 2;
  font-weight: 800;
  font-size: 18px;
  border: 5px solid currentColor;
}
.ii-layout-tag .ii-tag-badge span {
  color: #333;
}
.ii-layout-tag .ii-tag-dots {
  width: 28px;
  height: 0;
  border-top: 2px dotted #bbb;
  flex: 0 0 28px;
  margin: 0 2px;
}
.ii-layout-tag .ii-tag-card {
  flex: 1;
  display: flex;
  align-items: center;
  background: #ea580c;
  color: #fff !important;
  border-radius: 10px 18px 18px 10px;
  padding: 14px 18px 14px 20px;
  min-height: 68px;
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
  position: relative;
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%);
}
.ii-layout-tag .ii-step-body { flex: 1; min-width: 0; padding-right: 8px; }
.ii-layout-tag .ii-step-title {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 3px;
  outline: none;
  color: #fff !important;
}
.ii-layout-tag .ii-step-desc {
  font-size: 12.5px;
  line-height: 1.35;
  opacity: 1;
  outline: none;
  color: #fff !important;
  font-weight: 500;
}
.ii-layout-tag .ii-tag-badge span {
  color: #1e293b !important;
  font-weight: 800;
}
.ii-layout-tag .ii-tag-icon {
  width: 32px; height: 32px;
  flex: 0 0 32px;
  display: flex; align-items: center; justify-content: center;
  margin-right: 10px;
}
.ii-layout-tag .ii-tag-icon svg { width: 24px; height: 24px; stroke: #fff; }

.ii-layout-tag .ii-tag-row:nth-child(1) { color: #ea580c; }
.ii-layout-tag .ii-tag-row:nth-child(2) { color: #7c3aed; }
.ii-layout-tag .ii-tag-row:nth-child(3) { color: #16a34a; }
.ii-layout-tag .ii-tag-row:nth-child(4) { color: #1e293b; }
.ii-layout-tag .ii-tag-row:nth-child(5) { color: #0284c7; }
.ii-layout-tag .ii-tag-row:nth-child(6) { color: #db2777; }

/* ---------- SNAKE TIMELINE ---------- */
.ii-layout-snake .ii-steps-cards {
  position: relative;
  padding: 12px 8px 20px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* continuous colored spine behind the nodes */
.ii-layout-snake .ii-steps-cards::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 30px;
  bottom: 30px;
  width: 56px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(180deg,
    #a855f7 0%, #6366f1 20%, #3b82f6 40%,
    #22c55e 55%, #f59e0b 75%, #f43f5e 100%);
  opacity: .35;
  z-index: 0;
}
.ii-layout-snake .ii-snake-row {
  display: grid;
  grid-template-columns: 1fr 90px 1fr;
  align-items: center;
  min-height: 110px;
  position: relative;
  z-index: 1;
  margin-bottom: -8px;
}
.ii-layout-snake .ii-snake-node {
  grid-column: 2;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ii-layout-snake .ii-snake-circle {
  width: 78px; height: 78px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.14);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 6px solid currentColor;
  position: relative;
  z-index: 2;
}
.ii-layout-snake .ii-snake-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #64748b;
}
.ii-layout-snake .ii-snake-num {
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  color: #1e293b;
}
.ii-layout-snake .ii-snake-content {
  padding: 8px 12px;
}
.ii-layout-snake .ii-side-left .ii-snake-content {
  grid-column: 1;
  text-align: right;
  padding-right: 16px;
}
.ii-layout-snake .ii-side-right .ii-snake-content {
  grid-column: 3;
  text-align: left;
  padding-left: 16px;
}
/* when side is left, the content is on left and node stays center.
   When side is right, we still place content in column 3 via the class above.
   The empty column is fine. */
.ii-layout-snake .ii-side-left .ii-snake-node { grid-column: 2; }
.ii-layout-snake .ii-side-right .ii-snake-node { grid-column: 2; }

.ii-layout-snake .ii-snake-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #9333ea;
  color: #fff !important;
  border-radius: 999px;
  padding: 7px 14px 7px 10px;
  margin-bottom: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
.ii-layout-snake .ii-snake-pill .ii-step-title { color: #fff !important; }
.ii-layout-snake .ii-step-desc {
  color: #1e293b !important;
  opacity: 1 !important;
  font-weight: 500;
}
.ii-layout-snake .ii-side-left .ii-snake-pill { flex-direction: row-reverse; }
.ii-layout-snake .ii-step-icon-wrap {
  width: 26px; height: 26px;
  background: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 26px;
}
.ii-layout-snake .ii-step-icon-wrap svg { width: 14px; height: 14px; stroke-width: 2.4; }
.ii-layout-snake .ii-step-title {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  outline: none;
  color: #fff;
  white-space: nowrap;
}
.ii-layout-snake .ii-step-desc {
  font-size: 12.5px;
  line-height: 1.4;
  opacity: .78;
  outline: none;
  color: inherit;
  max-width: 220px;
}
.ii-layout-snake .ii-side-left .ii-step-desc { margin-left: auto; }
.ii-layout-snake .ii-side-right .ii-step-desc { margin-right: auto; }

.ii-layout-snake .ii-snake-row:nth-child(1) { color: #9333ea; }
.ii-layout-snake .ii-snake-row:nth-child(2) { color: #2563eb; }
.ii-layout-snake .ii-snake-row:nth-child(3) { color: #16a34a; }
.ii-layout-snake .ii-snake-row:nth-child(4) { color: #ea580c; }
.ii-layout-snake .ii-snake-row:nth-child(5) { color: #e11d48; }
.ii-layout-snake .ii-snake-row:nth-child(6) { color: #0891b2; }
.ii-layout-snake .ii-snake-row:nth-child(1) .ii-step-icon-wrap { color: #9333ea; }
.ii-layout-snake .ii-snake-row:nth-child(2) .ii-step-icon-wrap { color: #2563eb; }
.ii-layout-snake .ii-snake-row:nth-child(3) .ii-step-icon-wrap { color: #16a34a; }
.ii-layout-snake .ii-snake-row:nth-child(4) .ii-step-icon-wrap { color: #ea580c; }
.ii-layout-snake .ii-snake-row:nth-child(5) .ii-step-icon-wrap { color: #e11d48; }
.ii-layout-snake .ii-snake-row:nth-child(6) .ii-step-icon-wrap { color: #0891b2; }

/* Dark theme readability for new layouts */
.ii-theme-dark .ii-layout-chevron .ii-step-desc,
.ii-theme-dark .ii-layout-tag .ii-tag-badge span,
.ii-theme-dark .ii-layout-bignum .ii-step-title,
.ii-theme-dark .ii-layout-bignum .ii-step-desc { color: var(--ii-text); }
.ii-theme-dark .ii-layout-bignum .ii-bignum-panel { background: var(--ii-card-bg); border-color: #333; }
.ii-theme-dark .ii-layout-snake .ii-snake-circle { background: var(--ii-card-bg); }
.ii-theme-dark .ii-layout-snake .ii-snake-num { color: var(--ii-text); }
.ii-theme-dark .ii-layout-tag .ii-tag-badge { background: var(--ii-card-bg); }

/* Density tweaks */
.ii-density-compact .ii-layout-chevron .ii-chevron-block,
.ii-density-tight .ii-layout-chevron .ii-chevron-block { width: 82px; height: 76px; flex-basis: 82px; }
.ii-density-compact .ii-layout-snake .ii-snake-circle,
.ii-density-tight .ii-layout-snake .ii-snake-circle { width: 64px; height: 64px; }
.ii-density-compact .ii-layout-bignum .ii-big-num,
.ii-density-tight .ii-layout-bignum .ii-big-num { font-size: 88px; }
.ii-density-compact .ii-layout-zigzag,
.ii-density-tight .ii-layout-zigzag { gap: 14px 18px; }

.ii-layout-snake .ii-snake-row:nth-child(1) .ii-snake-circle { border-color: #9333ea; }
.ii-layout-snake .ii-snake-row:nth-child(1) .ii-snake-pill { background: #9333ea; color: #fff !important; }
.ii-layout-snake .ii-snake-row:nth-child(1) .ii-snake-pill .ii-step-title { color: #fff !important; }
.ii-layout-snake .ii-snake-row:nth-child(1) .ii-step-icon-wrap { color: #9333ea; }
.ii-layout-snake .ii-snake-row:nth-child(1) .ii-step-desc { color: #1e293b !important; }

.ii-layout-snake .ii-snake-row:nth-child(2) .ii-snake-circle { border-color: #2563eb; }
.ii-layout-snake .ii-snake-row:nth-child(2) .ii-snake-pill { background: #2563eb; color: #fff !important; }
.ii-layout-snake .ii-snake-row:nth-child(2) .ii-snake-pill .ii-step-title { color: #fff !important; }
.ii-layout-snake .ii-snake-row:nth-child(2) .ii-step-icon-wrap { color: #2563eb; }
.ii-layout-snake .ii-snake-row:nth-child(2) .ii-step-desc { color: #1e293b !important; }

.ii-layout-snake .ii-snake-row:nth-child(3) .ii-snake-circle { border-color: #16a34a; }
.ii-layout-snake .ii-snake-row:nth-child(3) .ii-snake-pill { background: #16a34a; color: #fff !important; }
.ii-layout-snake .ii-snake-row:nth-child(3) .ii-snake-pill .ii-step-title { color: #fff !important; }
.ii-layout-snake .ii-snake-row:nth-child(3) .ii-step-icon-wrap { color: #16a34a; }
.ii-layout-snake .ii-snake-row:nth-child(3) .ii-step-desc { color: #1e293b !important; }

.ii-layout-snake .ii-snake-row:nth-child(4) .ii-snake-circle { border-color: #ea580c; }
.ii-layout-snake .ii-snake-row:nth-child(4) .ii-snake-pill { background: #ea580c; color: #fff !important; }
.ii-layout-snake .ii-snake-row:nth-child(4) .ii-snake-pill .ii-step-title { color: #fff !important; }
.ii-layout-snake .ii-snake-row:nth-child(4) .ii-step-icon-wrap { color: #ea580c; }
.ii-layout-snake .ii-snake-row:nth-child(4) .ii-step-desc { color: #1e293b !important; }

.ii-layout-snake .ii-snake-row:nth-child(5) .ii-snake-circle { border-color: #e11d48; }
.ii-layout-snake .ii-snake-row:nth-child(5) .ii-snake-pill { background: #e11d48; color: #fff !important; }
.ii-layout-snake .ii-snake-row:nth-child(5) .ii-snake-pill .ii-step-title { color: #fff !important; }
.ii-layout-snake .ii-snake-row:nth-child(5) .ii-step-icon-wrap { color: #e11d48; }
.ii-layout-snake .ii-snake-row:nth-child(5) .ii-step-desc { color: #1e293b !important; }

.ii-layout-snake .ii-snake-row:nth-child(6) .ii-snake-circle { border-color: #0891b2; }
.ii-layout-snake .ii-snake-row:nth-child(6) .ii-snake-pill { background: #0891b2; color: #fff !important; }
.ii-layout-snake .ii-snake-row:nth-child(6) .ii-snake-pill .ii-step-title { color: #fff !important; }
.ii-layout-snake .ii-snake-row:nth-child(6) .ii-step-icon-wrap { color: #0891b2; }
.ii-layout-snake .ii-snake-row:nth-child(6) .ii-step-desc { color: #1e293b !important; }


/* 2.5.0 readability lock — never allow washed-out step text */
.ii-steps-group .ii-step-title,
.ii-steps-group .ii-step-desc,
.ii-steps-group .ii-step-text {
  -webkit-text-fill-color: unset;
}
.ii-layout-tabbed .ii-step-title { font-weight: 800; }
.ii-layout-tabbed .ii-step-desc,
.ii-layout-bar .ii-step-desc,
.ii-layout-ribbon .ii-step-desc,
.ii-layout-chevron .ii-step-desc,
.ii-layout-bignum .ii-step-desc {
  color: #334155 !important;
}
.ii-layout-banner .ii-step-title,
.ii-layout-banner .ii-step-desc,
.ii-layout-banner .ii-step-num,
.ii-layout-tag .ii-step-title,
.ii-layout-tag .ii-step-desc,
.ii-layout-zigzag .ii-step-title,
.ii-layout-zigzag .ii-step-desc,
.ii-layout-snake .ii-snake-pill .ii-step-title {
  color: #fff !important;
}
.ii-layout-snake .ii-step-desc {
  color: #1e293b !important;
  opacity: 1 !important;
}
.ii-layout-classic .ii-step-text,
.ii-step-row .ii-step-text {
  color: #1e293b !important;
  font-weight: 600;
}

.ii-layout-tag .ii-tag-row:nth-child(1) .ii-tag-badge { color: #ea580c; border-color: #ea580c; }
.ii-layout-tag .ii-tag-row:nth-child(1) .ii-tag-card { background: #ea580c; }
.ii-layout-tag .ii-tag-row:nth-child(1) .ii-step-title,
.ii-layout-tag .ii-tag-row:nth-child(1) .ii-step-desc { color: #fff !important; }

.ii-layout-tag .ii-tag-row:nth-child(2) .ii-tag-badge { color: #7c3aed; border-color: #7c3aed; }
.ii-layout-tag .ii-tag-row:nth-child(2) .ii-tag-card { background: #7c3aed; }
.ii-layout-tag .ii-tag-row:nth-child(2) .ii-step-title,
.ii-layout-tag .ii-tag-row:nth-child(2) .ii-step-desc { color: #fff !important; }

.ii-layout-tag .ii-tag-row:nth-child(3) .ii-tag-badge { color: #16a34a; border-color: #16a34a; }
.ii-layout-tag .ii-tag-row:nth-child(3) .ii-tag-card { background: #16a34a; }
.ii-layout-tag .ii-tag-row:nth-child(3) .ii-step-title,
.ii-layout-tag .ii-tag-row:nth-child(3) .ii-step-desc { color: #fff !important; }

.ii-layout-tag .ii-tag-row:nth-child(4) .ii-tag-badge { color: #1e293b; border-color: #1e293b; }
.ii-layout-tag .ii-tag-row:nth-child(4) .ii-tag-card { background: #1e293b; }
.ii-layout-tag .ii-tag-row:nth-child(4) .ii-step-title,
.ii-layout-tag .ii-tag-row:nth-child(4) .ii-step-desc { color: #fff !important; }

.ii-layout-tag .ii-tag-row:nth-child(5) .ii-tag-badge { color: #0284c7; border-color: #0284c7; }
.ii-layout-tag .ii-tag-row:nth-child(5) .ii-tag-card { background: #0284c7; }
.ii-layout-tag .ii-tag-row:nth-child(5) .ii-step-title,
.ii-layout-tag .ii-tag-row:nth-child(5) .ii-step-desc { color: #fff !important; }

.ii-layout-tag .ii-tag-row:nth-child(6) .ii-tag-badge { color: #db2777; border-color: #db2777; }
.ii-layout-tag .ii-tag-row:nth-child(6) .ii-tag-card { background: #db2777; }
.ii-layout-tag .ii-tag-row:nth-child(6) .ii-step-title,
.ii-layout-tag .ii-tag-row:nth-child(6) .ii-step-desc { color: #fff !important; }

.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(1) .ii-snake-circle { border-color: #9333ea; color: #9333ea; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(1) .ii-snake-pill { background: #9333ea !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(1) .ii-snake-pill .ii-step-title { color: #fff !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(1) .ii-step-desc { color: #1e293b !important; opacity: 1 !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(1) .ii-step-icon-wrap { color: #9333ea; }

.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(2) .ii-snake-circle { border-color: #2563eb; color: #2563eb; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(2) .ii-snake-pill { background: #2563eb !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(2) .ii-snake-pill .ii-step-title { color: #fff !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(2) .ii-step-desc { color: #1e293b !important; opacity: 1 !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(2) .ii-step-icon-wrap { color: #2563eb; }

.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(3) .ii-snake-circle { border-color: #16a34a; color: #16a34a; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(3) .ii-snake-pill { background: #16a34a !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(3) .ii-snake-pill .ii-step-title { color: #fff !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(3) .ii-step-desc { color: #1e293b !important; opacity: 1 !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(3) .ii-step-icon-wrap { color: #16a34a; }

.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(4) .ii-snake-circle { border-color: #ea580c; color: #ea580c; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(4) .ii-snake-pill { background: #ea580c !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(4) .ii-snake-pill .ii-step-title { color: #fff !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(4) .ii-step-desc { color: #1e293b !important; opacity: 1 !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(4) .ii-step-icon-wrap { color: #ea580c; }

.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(5) .ii-snake-circle { border-color: #e11d48; color: #e11d48; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(5) .ii-snake-pill { background: #e11d48 !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(5) .ii-snake-pill .ii-step-title { color: #fff !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(5) .ii-step-desc { color: #1e293b !important; opacity: 1 !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(5) .ii-step-icon-wrap { color: #e11d48; }

.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(6) .ii-snake-circle { border-color: #0891b2; color: #0891b2; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(6) .ii-snake-pill { background: #0891b2 !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(6) .ii-snake-pill .ii-step-title { color: #fff !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(6) .ii-step-desc { color: #1e293b !important; opacity: 1 !important; }
.ii-layout-snake .ii-steps-cards > .ii-snake-row:nth-child(6) .ii-step-icon-wrap { color: #0891b2; }

/* Force professional readable type sizes */
.ii-steps-group .ii-step-title { font-size: 15px !important; line-height: 1.3 !important; font-weight: 800 !important; }
.ii-steps-group .ii-step-desc { font-size: 13px !important; line-height: 1.45 !important; font-weight: 500 !important; }
.ii-layout-snake .ii-step-title { font-size: 12px !important; }
.ii-layout-zigzag .ii-step-title { font-size: 13px !important; color: #fff !important; }
.ii-layout-zigzag .ii-step-desc { color: #fff !important; }
.ii-layout-banner .ii-step-title,
.ii-layout-banner .ii-step-desc,
.ii-layout-tag .ii-step-title,
.ii-layout-tag .ii-step-desc { color: #fff !important; }
.ii-layout-tabbed .ii-step-desc,
.ii-layout-bar .ii-step-desc,
.ii-layout-ribbon .ii-step-desc,
.ii-layout-chevron .ii-step-desc,
.ii-layout-bignum .ii-step-desc,
.ii-layout-snake .ii-step-desc { color: #1e293b !important; }
.ii-layout-tabbed .ii-step-title { /* keep accent colors from nth rules */ }
.ii-layout-ribbon .ii-step-title { color: #1e293b !important; }
.ii-layout-bignum .ii-step-title { color: #1e293b !important; }
.ii-layout-chevron .ii-step-title { font-weight: 800 !important; }
.ii-step-row .ii-step-text { color: #1e293b !important; font-size: 16px !important; font-weight: 600 !important; }


/* ============================================================
   3.1 Landing + credits + guest gate
   ============================================================ */
.ii-landing{padding:8px 4px 28px}
.ii-landing-hero{text-align:center;padding:28px 12px 32px;max-width:920px;margin:0 auto}
.ii-eyebrow{
  display:inline-block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:#6d28d9;background:#ede9fe;border:1px solid #ddd6fe;padding:6px 12px;border-radius:999px;margin-bottom:16px;
}
.ii-landing-h1{
  font-size:clamp(28px,4vw,42px);font-weight:900;letter-spacing:-.03em;line-height:1.12;color:#0f172a;margin:0 0 14px;
}
.ii-landing-h1 span{
  background:linear-gradient(90deg,#7c3aed,#ec4899,#06b6d4);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.ii-landing-lead{font-size:17px;line-height:1.55;color:#475569;max-width:720px;margin:0 auto 20px}
.ii-landing-cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:16px}
.ii-landing-meta{font-size:12.5px;color:#94a3b8;font-weight:600;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.ii-landing-meta .ii-dot{opacity:.5}
.ii-landing-h2{font-size:24px;font-weight:850;letter-spacing:-.02em;color:#0f172a;margin:0 0 16px;text-align:center}

.ii-pas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:8px 0 28px}
.ii-pas-card{
  background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px 18px;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}
.ii-pas-card h3{font-size:16px;font-weight:800;margin:0 0 8px;color:#0f172a}
.ii-pas-card p{font-size:13.5px;line-height:1.5;color:#64748b;margin:0}

.ii-why{margin:28px 0}
.ii-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ii-why-item{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px;
  box-shadow:0 4px 14px rgba(15,23,42,.04);
}
.ii-why-item strong{display:block;font-size:13.5px;font-weight:800;color:#0f172a;margin-bottom:4px}
.ii-why-item span{font-size:12.5px;color:#64748b;line-height:1.45}

.ii-platforms{margin:32px 0}
.ii-plat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ii-plat-card{
  background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;padding:18px;
}
.ii-plat-name{font-size:15px;font-weight:800;color:#4c1d95;margin-bottom:10px}
.ii-plat-card ul{margin:0;padding-left:18px;color:#475569;font-size:13px;line-height:1.5}
.ii-plat-card li{margin-bottom:6px}

.ii-cases{margin:32px 0}
.ii-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ii-case{
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px;position:relative;
}
.ii-case-n{display:block;font-size:11px;font-weight:800;color:#a78bfa;letter-spacing:.06em;margin-bottom:6px}
.ii-case strong{display:block;font-size:14px;font-weight:800;color:#0f172a;margin-bottom:6px}
.ii-case p{font-size:12.5px;color:#64748b;line-height:1.45;margin:0}

.ii-order{margin:32px 0 8px;background:#0f172a;color:#e2e8f0;border-radius:20px;padding:28px 24px;text-align:center}
.ii-order .ii-landing-h2{color:#fff}
.ii-order-list{
  text-align:left;max-width:640px;margin:0 auto 20px;padding-left:22px;
  font-size:14px;line-height:1.55;color:#cbd5e1;
}
.ii-order-list li{margin-bottom:10px}
.ii-order-list strong{color:#fff}
.ii-order .ii-btn.ghost{border-color:#475569;color:#e2e8f0}

.ii-studio-anchor{scroll-margin-top:20px;height:1px}

.ii-credit-pill{background:#0f172a !important;color:#fde68a !important;border-color:#334155 !important}
.ii-guest-banner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  background:linear-gradient(90deg,#ede9fe,#fce7f3);border:1px solid #ddd6fe;
  border-radius:14px;padding:14px 16px;margin-bottom:14px;
}
.ii-guest-banner strong{display:block;font-size:14px;color:#4c1d95;margin-bottom:2px}
.ii-guest-banner span{font-size:13px;color:#5b21b6}

.ii-auth-modal{
  position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:100000;
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.ii-auth-card{
  background:#fff;border-radius:18px;padding:28px 24px;max-width:420px;width:100%;
  box-shadow:0 24px 60px rgba(15,23,42,.25);position:relative;text-align:center;
}
.ii-auth-close{
  position:absolute;top:10px;right:12px;border:none;background:transparent;
  font-size:22px;cursor:pointer;color:#94a3b8;line-height:1;
}
.ii-auth-title{font-size:20px;font-weight:850;color:#0f172a;margin-bottom:8px}
.ii-auth-body{font-size:14px;color:#475569;line-height:1.5;margin:0 0 10px}
.ii-auth-meta{font-size:12.5px;color:#94a3b8;margin:0 0 16px}

@media (max-width:960px){
  .ii-pas-grid,.ii-why-grid,.ii-plat-grid,.ii-case-grid{grid-template-columns:1fr}
}


/* Clickability lock — never block UI controls */
#ii-app .ii-btn,
#ii-app .ii-style,
#ii-app .ii-steplayout,
#ii-app .ii-side-btn,
#ii-app .ii-toggle,
#ii-app .ii-select,
#ii-app button,
#ii-app a.ii-btn {
  pointer-events: auto !important;
  cursor: pointer !important;
  position: relative;
  z-index: 2;
}
#ii-app .ii-input-card,
#ii-app .ii-controls-card,
#ii-app .ii-panel,
#ii-app .ii-hero-bar,
#ii-app .ii-guest-banner {
  position: relative;
  z-index: 1;
}
.ii-auth-modal { pointer-events: auto; }
