/* ==========================================================
   InstaCalculate Platform UI v3 — 2.5.0
   Product-first visual system inspired by calm modern SaaS layouts.
   This stylesheet intentionally owns only plugin-rendered UI.
========================================================== */

:root {
  --ic3-ink: #18231f;
  --ic3-text: #435049;
  --ic3-muted: #778078;
  --ic3-line: #e6e9e4;
  --ic3-line-strong: #d8ddd7;
  --ic3-paper: #ffffff;
  --ic3-soft: #f7f8f5;
  --ic3-blue: #4567f2;
  --ic3-blue-dark: #2f4bd6;
  --ic3-blue-soft: #eef2ff;
  --ic3-green: #bdf3a8;
  --ic3-green-soft: #eafbe4;
  --ic3-peach: #ffe6a9;
  --ic3-peach-soft: #fff6df;
  --ic3-pink: #f4c7f2;
  --ic3-pink-soft: #fbecfa;
  --ic3-cyan: #bfe5fb;
  --ic3-cyan-soft: #eaf6fd;
  --ic3-radius: 14px;
  --ic3-radius-lg: 22px;
  --ic3-shadow: 0 10px 30px rgba(24,35,31,.055);
  --ic3-font: var(--global-body-font-family, inherit);
}

/* ---------- shared managed UI ---------- */
.icv3-home,
.ic-tool-page,
.ic-resource-page,
.ic-resource-directory,
.ic-category-hub,
.ic-all-page,
.ic-core-page {
  font-family: var(--ic3-font) !important;
  color: var(--ic3-text);
}
.icv3-home *,
.ic-tool-page *,
.ic-resource-page *,
.ic-resource-directory *,
.ic-category-hub *,
.ic-all-page *,
.ic-core-page * { box-sizing: border-box; }

.icv3-home h1,.icv3-home h2,.icv3-home h3,
.ic-tool-page h1,.ic-tool-page h2,.ic-tool-page h3,
.ic-resource-page h1,.ic-resource-page h2,.ic-resource-page h3,
.ic-resource-directory h1,.ic-resource-directory h2,.ic-resource-directory h3,
.ic-category-hub h1,.ic-category-hub h2,.ic-category-hub h3,
.ic-all-page h1,.ic-all-page h2,.ic-all-page h3,
.ic-core-page h1,.ic-core-page h2,.ic-core-page h3 {
  font-family: var(--ic3-font) !important;
  color: var(--ic3-ink) !important;
  letter-spacing: -.035em !important;
}

/* ---------- homepage ---------- */
.icv3-home {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto;
  padding: 0 0 92px;
}
.icv3-hero {
  position: relative;
  min-height: 500px;
  display: grid;
  place-items: center;
  padding: 86px 70px 72px;
  overflow: hidden;
  text-align: center;
}
.icv3-hero-inner { position: relative; z-index: 2; width: min(760px,100%); }
.icv3-eyebrow,.icv3-kicker,.icv3-dark-kicker {
  display: inline-block;
  margin: 0 0 13px;
  color: var(--ic3-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.icv3-hero h1 {
  margin: 0 auto 18px !important;
  font-size: clamp(44px, 6.2vw, 74px) !important;
  line-height: .98 !important;
  font-weight: 760 !important;
  letter-spacing: -.055em !important;
}
.icv3-hero-copy {
  max-width: 650px;
  margin: 0 auto 28px !important;
  color: #6c746e !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}
.icv3-search {
  width: min(620px,100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  padding: 7px;
  background: #fff;
  border: 1px solid var(--ic3-line-strong);
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(24,35,31,.08);
}
.icv3-search input {
  width: 100%; min-width: 0; min-height: 46px;
  border: 0 !important; outline: 0 !important; box-shadow: none !important;
  background: transparent !important;
  color: var(--ic3-ink) !important;
  padding: 0 14px !important;
  font-size: 15px !important;
}
.icv3-search button,.icv3-btn {
  font-family: var(--ic3-font) !important;
  text-decoration: none !important;
  border: 0;
  cursor: pointer;
}
.icv3-search button {
  min-height: 46px;
  padding: 0 22px;
  border-radius: 10px;
  color: #fff;
  background: var(--ic3-blue);
  font-size: 14px;
  font-weight: 700;
}
.icv3-search button:hover { background: var(--ic3-blue-dark); }
.icv3-hero-links { display:flex; justify-content:center; gap:10px; margin-top:18px; flex-wrap:wrap; }
.icv3-btn {
  display:inline-flex; align-items:center; justify-content:center;
  min-height: 42px; padding: 0 17px;
  border-radius: 9px;
  font-size: 13px; font-weight: 700;
  transition: transform .16s ease, background .16s ease, border-color .16s ease;
}
.icv3-btn:hover { transform: translateY(-1px); }
.icv3-btn-primary { background: var(--ic3-blue); color:#fff !important; }
.icv3-btn-primary:hover { background: var(--ic3-blue-dark); }
.icv3-btn-secondary { background:#fff; color:var(--ic3-ink) !important; border:1px solid var(--ic3-line-strong); }
.icv3-btn-dark { background:var(--ic3-ink); color:#fff !important; }
.icv3-btn-light { background:#fff; color:var(--ic3-ink) !important; }

.icv3-float {
  position:absolute; z-index:1; width:44px; height:44px;
  display:grid; place-items:center;
  border:1px solid var(--ic3-line);
  border-radius:12px;
  background:rgba(255,255,255,.88);
  color:#778079;
  font:700 15px/1 var(--ic3-font);
  box-shadow: 0 8px 20px rgba(24,35,31,.05);
}
.icv3-float-1{left:7%;top:20%;background:var(--ic3-pink-soft)}
.icv3-float-2{right:8%;top:17%;background:var(--ic3-green-soft)}
.icv3-float-3{left:13%;bottom:24%;background:var(--ic3-cyan-soft)}
.icv3-float-4{right:14%;bottom:23%;background:var(--ic3-peach-soft)}
.icv3-float-5{left:25%;top:11%}
.icv3-float-6{right:26%;bottom:9%}

.icv3-metric-strip {
  display:grid; grid-template-columns: repeat(4,minmax(0,1fr));
  border-top:1px solid var(--ic3-line); border-bottom:1px solid var(--ic3-line);
  margin-bottom: 74px;
}
.icv3-metric-strip > div { padding:20px 18px; text-align:center; border-right:1px solid var(--ic3-line); }
.icv3-metric-strip > div:last-child{border-right:0}
.icv3-metric-strip strong { display:block; color:var(--ic3-ink); font-size:22px; line-height:1.1; }
.icv3-metric-strip span { display:block; margin-top:4px; color:var(--ic3-muted); font-size:12px; }

.icv3-section { padding: 64px 0; border-bottom: 1px solid var(--ic3-line); }
.icv3-section-head { max-width:690px; margin-bottom:30px; }
.icv3-section-head h2,.icv3-center-head h2,.icv3-dark-copy h2,.icv3-cta h2 {
  margin:0 0 12px !important;
  font-size:clamp(31px,4.2vw,48px) !important;
  line-height:1.04 !important;
  font-weight:750 !important;
}
.icv3-section-head p,.icv3-cta p { margin:0 !important; color:#6e766f !important; font-size:15px !important; line-height:1.7 !important; }
.icv3-section-head-row { max-width:none; display:flex; align-items:end; justify-content:space-between; gap:24px; }
.icv3-text-link { color:var(--ic3-ink) !important; font-size:13px; font-weight:700; text-decoration:underline; text-decoration-color:#cfd5cf; }

.icv3-showcase-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.icv3-showcase {
  display:grid; grid-template-columns: 1.05fr .95fr; min-height:330px;
  overflow:hidden; border:1px solid rgba(24,35,31,.08); border-radius:16px;
  text-decoration:none !important; color:inherit !important;
  box-shadow: var(--ic3-shadow);
}
.icv3-showcase-violet{background:#f4d0f1}.icv3-showcase-green{background:#bff3a9}.icv3-showcase-peach{background:#ffe0a0}.icv3-showcase-blue{background:#bde0f7}
.icv3-showcase-visual { min-height:100%; display:grid; place-items:center; padding:28px; border-right:1px solid rgba(24,35,31,.07); }
.icv3-showcase-copy { align-self:end; padding:28px; background:rgba(255,255,255,.58); backdrop-filter:blur(12px); }
.icv3-showcase-copy > span { color:#5d665f; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.icv3-showcase-copy h3 { margin:8px 0 8px !important; font-size:22px !important; line-height:1.15 !important; font-weight:750 !important; }
.icv3-showcase-copy p { margin:0 0 16px !important; color:#657068 !important; font-size:13.5px !important; line-height:1.58 !important; }
.icv3-showcase-copy small { color:var(--ic3-ink); font-size:12px; font-weight:700; }

.icv3-ui-window,.icv3-ui-chart,.icv3-ui-convert,.icv3-ui-table { width:min(220px,100%); background:#fff; border:1px solid rgba(24,35,31,.09); border-radius:12px; box-shadow:0 12px 28px rgba(24,35,31,.08); }
.icv3-ui-window{padding:14px}.icv3-ui-window span{display:inline-block;width:7px;height:7px;background:#dde2de;border-radius:50%;margin-right:4px}.icv3-ui-window b{display:block;margin:30px 0 18px;font-size:30px;color:var(--ic3-blue)}.icv3-ui-window i{display:block;height:8px;border-radius:8px;background:#eef0ee;box-shadow:0 14px 0 #eef0ee,0 28px 0 #eef0ee}
.icv3-ui-chart{height:160px;padding:20px;display:flex;align-items:end;gap:10px}.icv3-ui-chart i{flex:1;background:var(--ic3-blue);border-radius:6px 6px 2px 2px;opacity:.78}
.icv3-ui-convert{padding:18px;display:grid;grid-template-columns:1fr auto;gap:10px}.icv3-ui-convert b,.icv3-ui-convert em{font-style:normal;font-size:24px;color:var(--ic3-ink)}.icv3-ui-convert span{align-self:center;color:var(--ic3-muted);font-size:12px}
.icv3-ui-table{padding:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.icv3-ui-table span{height:27px;border-radius:5px;background:#eef1ef}.icv3-ui-table span:nth-child(1),.icv3-ui-table span:nth-child(2),.icv3-ui-table span:nth-child(3){background:#dbe4ff}

.icv3-center-head{text-align:center;margin-bottom:24px}.icv3-center-head h2{font-size:28px !important}
.icv3-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.icv3-mini-card{display:flex;flex-direction:column;min-height:210px;padding:22px;border:1px solid var(--ic3-line);border-radius:14px;background:#fff;color:inherit !important;text-decoration:none !important;box-shadow:0 7px 20px rgba(24,35,31,.035)}
.icv3-mini-symbol{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--ic3-soft);color:var(--ic3-ink);font-weight:800;margin-bottom:24px}
.icv3-mini-card h3{margin:0 0 8px !important;font-size:18px !important;font-weight:750 !important}.icv3-mini-card p{margin:0 !important;color:#707871 !important;font-size:13px !important;line-height:1.6 !important}.icv3-mini-card small{margin-top:auto;padding-top:18px;color:var(--ic3-ink);font-weight:700}

.icv3-topic-strip{padding:34px 0 42px;border-bottom:1px solid var(--ic3-line)}.icv3-topic-strip-head{text-align:center;margin-bottom:16px;color:var(--ic3-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.icv3-topic-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.icv3-topic-chips a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--ic3-line);border-radius:9px;background:#fff;color:var(--ic3-ink) !important;text-decoration:none !important;font-size:12.5px;font-weight:650}.icv3-topic-chips a:hover{border-color:#c9d1ca;background:var(--ic3-soft)}.icv3-topic-chips span{font-size:14px}

.icv3-dark-band{margin:72px 0;display:grid;grid-template-columns:1.08fr .92fr;min-height:390px;border-radius:16px;overflow:hidden;background:#1c2b27;color:#fff}.icv3-dark-copy{padding:52px}.icv3-dark-copy .icv3-dark-kicker{color:#b9f49e}.icv3-dark-copy h2{color:#fff !important;max-width:500px}.icv3-dark-copy p{color:#cbd4cf !important;font-size:15px !important;line-height:1.75 !important;max-width:560px}.icv3-dark-copy ul{display:grid;gap:8px;padding:0;margin:22px 0 26px;list-style:none;color:#e5ebe7;font-size:13px}.icv3-dark-copy li::before{content:'✓';margin-right:9px;color:#b9f49e;font-weight:800}.icv3-dark-demo{display:grid;place-items:center;padding:38px;background:linear-gradient(90deg,rgba(255,255,255,.015),rgba(255,255,255,.04));position:relative}.icv3-dark-demo::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:30px 30px;opacity:.4}.icv3-demo-card{position:relative;z-index:1;width:min(330px,100%);padding:22px;border-radius:14px;background:#101815;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 55px rgba(0,0,0,.25)}.icv3-demo-card small{color:#b9f49e;font-weight:700}.icv3-demo-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#aeb8b2;font-size:12px}.icv3-demo-row b{color:#fff}.icv3-demo-result{margin-top:16px;padding:16px;border-radius:10px;background:#243833}.icv3-demo-result span{display:block;color:#aeb8b2;font-size:11px}.icv3-demo-result strong{display:block;margin-top:4px;color:#fff;font-size:28px}

.icv3-popular-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.icv3-tool-card{display:flex;flex-direction:column;min-height:230px;padding:22px;border:1px solid var(--ic3-line);border-radius:14px;text-decoration:none !important;color:inherit !important}.icv3-tool-card-0{background:#fff5f1}.icv3-tool-card-1{background:#f2f7ff}.icv3-tool-card-2{background:#f2fbef}.icv3-tool-card-3{background:#fbf1fa}.icv3-tool-type{color:#707870;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.icv3-tool-card h3{margin:12px 0 8px !important;font-size:20px !important;line-height:1.17 !important;font-weight:760 !important}.icv3-tool-card p{margin:0 !important;color:#69736c !important;font-size:13.5px !important;line-height:1.6 !important}.icv3-tool-card small{margin-top:auto;padding-top:22px;color:var(--ic3-ink);font-weight:700}

.icv3-library-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr 1.1fr;gap:10px}.icv3-library-card{min-height:230px;padding:22px;border-radius:14px;border:1px solid rgba(24,35,31,.08);color:inherit !important;text-decoration:none !important}.icv3-library-card-0{background:#f0eaff}.icv3-library-card-1{background:#ddf7f0}.icv3-library-card-2{background:#ffe8e1}.icv3-library-card-3{background:#fff0bd}.icv3-library-card span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#657068}.icv3-library-card h3{margin:12px 0 8px !important;font-size:19px !important;font-weight:760 !important}.icv3-library-card p{margin:0 !important;color:#68716b !important;font-size:13px !important;line-height:1.58 !important}.icv3-library-card small{display:block;margin-top:20px;color:var(--ic3-ink);font-weight:700}

.icv3-platform-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:58px 0}.icv3-platform-stat{padding:20px;border:1px solid var(--ic3-line);border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(24,35,31,.03)}.icv3-platform-stat span{display:block;color:var(--ic3-muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em}.icv3-platform-stat strong{display:block;margin-top:8px;color:var(--ic3-ink);font-size:28px}
.icv3-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:46px;border-radius:15px;background:#c8f4b8;border:1px solid #addd9b}.icv3-cta > div:first-child{max-width:700px}.icv3-cta h2{font-size:36px !important}.icv3-cta-actions{display:flex;gap:9px;flex-wrap:wrap}

/* ---------- single calculator pages ---------- */
body.is-ic-calculator-page .ic-tool-page {
  width:min(1120px,calc(100% - 36px)) !important;
  max-width:1120px !important;
  margin:0 auto !important;
  padding:64px 0 84px !important;
  background:transparent !important;
  font-family:var(--ic3-font) !important;
}
body.is-ic-calculator-page .ic-tool-hero { max-width:800px !important; margin:0 0 38px !important; text-align:left !important; }
body.is-ic-calculator-page .ic-tool-badge { min-height:30px !important; padding:0 10px !important; border-radius:999px !important; border:1px solid #dfe4df !important; background:#fff !important; color:#6e776f !important; font-size:11px !important; font-weight:700 !important; box-shadow:none !important; }
body.is-ic-calculator-page .ic-tool-badge-dot { width:7px !important;height:7px !important;background:var(--ic3-blue) !important; }
body.is-ic-calculator-page .ic-tool-hero h1 { margin:18px 0 13px !important; font-size:clamp(40px,5vw,62px) !important; line-height:1 !important; font-weight:760 !important; letter-spacing:-.05em !important; }
body.is-ic-calculator-page .ic-tool-hero p { margin:0 !important; max-width:700px !important; color:#6c756e !important; font-size:16px !important; line-height:1.68 !important; }
body.is-ic-calculator-page .ic-tool-shell { display:grid !important; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr) !important; gap:16px !important; align-items:start !important; max-width:none !important; margin:0 !important; }
body.is-ic-calculator-page .ic-tool-main { min-width:0; padding:26px; border:1px solid var(--ic3-line); border-radius:15px; background:#fff; box-shadow:var(--ic3-shadow); }
body.is-ic-calculator-page .ic-tool-main > .ic-calculator-wrap { max-width:none !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; backdrop-filter:none !important; }
body.is-ic-calculator-page .ic-tool-aside { position:sticky !important; top:94px !important; display:grid !important; grid-template-columns:1fr !important; gap:12px !important; }
body.is-ic-calculator-page .ic-tool-side-card { padding:20px !important; border:1px solid var(--ic3-line) !important; border-radius:13px !important; background:#fff !important; box-shadow:none !important; backdrop-filter:none !important; }
body.is-ic-calculator-page .ic-tool-side-card-dark { min-height:auto !important; background:#1c2b27 !important; border-color:#1c2b27 !important; overflow:hidden; }
body.is-ic-calculator-page .ic-tool-side-card-dark::after { display:none !important; }
body.is-ic-calculator-page .ic-tool-side-card-dark h2 { color:#fff !important; font-size:20px !important; }
body.is-ic-calculator-page .ic-tool-side-card-dark p { color:#c7d1cb !important; }
body.is-ic-calculator-page .ic-tool-side-card-dark .ic-tool-side-kicker { color:#bdf3a8 !important; }
body.is-ic-calculator-page .ic-tool-side-card h2 { margin:0 0 8px !important; font-size:20px !important; line-height:1.18 !important; font-weight:750 !important; }
body.is-ic-calculator-page .ic-tool-side-card p, body.is-ic-calculator-page .ic-tool-steps, body.is-ic-calculator-page .ic-tool-meta-row { color:#69736c !important; font-size:13.5px !important; line-height:1.65 !important; }
body.is-ic-calculator-page .ic-tool-meta-row strong { color:var(--ic3-ink) !important; }

/* Calculator engine: new visual owner. Inline layout styles remain valid, but old theme styling no longer participates. */
body.is-ic-calculator-page .icv3-engine .ic-field { margin-bottom:18px !important; }
body.is-ic-calculator-page .icv3-engine .ic-label, body.is-ic-calculator-page .icv3-engine .ic-field label { display:block; margin-bottom:7px !important; color:#3f4942 !important; font-size:14px !important; font-weight:700 !important; }
body.is-ic-calculator-page .icv3-engine input[type="number"], body.is-ic-calculator-page .icv3-engine input[type="text"], body.is-ic-calculator-page .icv3-engine input[type="email"], body.is-ic-calculator-page .icv3-engine select, body.is-ic-calculator-page .icv3-engine textarea { width:100%; min-height:50px; padding:0 14px !important; border:1px solid #d8ddd8 !important; border-radius:9px !important; background:#fff !important; color:var(--ic3-ink) !important; font:500 15px/1.4 var(--ic3-font) !important; box-shadow:none !important; }
body.is-ic-calculator-page .icv3-engine textarea { padding-top:12px !important; }
body.is-ic-calculator-page .icv3-engine input:focus, body.is-ic-calculator-page .icv3-engine select:focus, body.is-ic-calculator-page .icv3-engine textarea:focus { outline:0 !important; border-color:#9eacf2 !important; box-shadow:0 0 0 3px rgba(69,103,242,.10) !important; }
body.is-ic-calculator-page .icv3-engine button, body.is-ic-calculator-page .icv3-engine .ic-btn-calc { width:100%; min-height:50px; padding:0 20px !important; border:0 !important; border-radius:9px !important; background:var(--ic3-blue) !important; color:#fff !important; font:700 15px/1 var(--ic3-font) !important; box-shadow:none !important; transform:none !important; }
body.is-ic-calculator-page .icv3-engine button:hover, body.is-ic-calculator-page .icv3-engine .ic-btn-calc:hover { background:var(--ic3-blue-dark) !important; }
body.is-ic-calculator-page .ic-result { padding:22px !important; border:1px solid #d7defd !important; border-radius:12px !important; background:#f4f6ff !important; box-shadow:none !important; }
body.is-ic-calculator-page .ic-result__label { color:#677166 !important; font-size:11px !important; font-weight:750 !important; letter-spacing:.07em !important; }
body.is-ic-calculator-page .ic-result__value { color:var(--ic3-blue) !important; font-size:clamp(38px,5vw,54px) !important; font-weight:760 !important; }
body.is-ic-calculator-page .ic-result__note { color:#56615a !important; font-size:14px !important; line-height:1.6 !important; }
body.is-ic-calculator-page .ic-error { border-radius:9px !important; font-size:13px !important; }

body.is-ic-calculator-page .ic-tool-seo, body.is-ic-calculator-page .ic-tool-related-grid-wrap, body.is-ic-calculator-page .ic-tool-content { width:100% !important; max-width:none !important; margin:58px 0 0 !important; }
body.is-ic-calculator-page .ic-tool-seo-grid { gap:12px !important; }
body.is-ic-calculator-page .ic-tool-content-card, body.is-ic-calculator-page .ic-tool-faq, body.is-ic-calculator-page .ic-resource-trust-card, body.is-ic-calculator-page .ic-tool-content { padding:22px !important; border:1px solid var(--ic3-line) !important; border-radius:13px !important; box-shadow:none !important; background:#fff !important; }
body.is-ic-calculator-page .ic-tool-content-card:nth-child(1){background:#fff8f2 !important}body.is-ic-calculator-page .ic-tool-content-card:nth-child(2){background:#f4f8ff !important}body.is-ic-calculator-page .ic-tool-content-card:nth-child(3){background:#f3fbf0 !important}body.is-ic-calculator-page .ic-tool-content-card:nth-child(4){background:#fbf3fa !important}
body.is-ic-calculator-page .ic-tool-section-head h2, body.is-ic-calculator-page .ic-tool-faq h2, body.is-ic-calculator-page .ic-tool-related-grid-wrap h2, body.is-ic-calculator-page .ic-calc-trust h2 { margin:0 !important; font-size:clamp(27px,3.2vw,36px) !important; line-height:1.08 !important; font-weight:750 !important; }
body.is-ic-calculator-page .ic-tool-content-card h3, body.is-ic-calculator-page .ic-resource-trust-card h3 { font-size:16px !important; font-weight:750 !important; }
body.is-ic-calculator-page .ic-tool-content-card p, body.is-ic-calculator-page .ic-tool-content-card li, body.is-ic-calculator-page .ic-resource-trust-card p, body.is-ic-calculator-page .ic-resource-trust-card li, body.is-ic-calculator-page .ic-tool-content p { color:#59645d !important; font-size:14.5px !important; line-height:1.72 !important; }
body.is-ic-calculator-page .ic-tool-faq-grid { gap:8px !important; }
body.is-ic-calculator-page .ic-tool-faq-item { border:1px solid var(--ic3-line) !important; border-radius:9px !important; }
body.is-ic-calculator-page .ic-tool-faq-item summary { padding:15px 16px !important; color:var(--ic3-ink) !important; font-size:14px !important; font-weight:700 !important; }
body.is-ic-calculator-page .ic-tool-faq-item summary::after { color:var(--ic3-blue) !important; }
body.is-ic-calculator-page .ic-tool-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
body.is-ic-calculator-page .ic-tool-related-card, body.is-ic-calculator-page .ic-resource-card { min-height:0 !important; padding:20px !important; border:1px solid var(--ic3-line) !important; border-radius:11px !important; background:#fff !important; box-shadow:none !important; transform:none !important; }
body.is-ic-calculator-page .ic-tool-related-card:hover, body.is-ic-calculator-page .ic-resource-card:hover { border-color:#cbd2cc !important; background:#fafbf9 !important; }
body.is-ic-calculator-page .ic-tool-related-card span, body.is-ic-calculator-page .ic-resource-card strong { color:var(--ic3-ink) !important; font-size:15px !important; font-weight:750 !important; }
body.is-ic-calculator-page .ic-tool-related-card p, body.is-ic-calculator-page .ic-resource-card p { color:#6e776f !important; font-size:13px !important; line-height:1.58 !important; }
body.is-ic-calculator-page .ic-tool-link { display:inline-flex !important; min-height:40px !important; padding:0 14px !important; border-radius:8px !important; background:var(--ic3-blue) !important; color:#fff !important; box-shadow:none !important; text-decoration:none !important; font-size:13px !important; font-weight:700 !important; }

/* ---------- resources, hubs and directories ---------- */
.ic-resource-page,.ic-resource-directory,.ic-category-hub,.ic-all-page { width:min(1120px,calc(100% - 36px)) !important; max-width:1120px !important; margin:0 auto !important; padding:58px 0 84px !important; background:transparent !important; }
.ic-resource-hero,.ic-resource-directory-hero,.ic-hub-hero,.ic-all-hero { max-width:780px !important; padding:0 0 38px !important; margin:0 !important; text-align:left !important; }
.ic-resource-hero h1,.ic-resource-directory-hero h1,.ic-hub-hero h1,.ic-all-hero h1 { margin:12px 0 !important; font-size:clamp(40px,5vw,62px) !important; line-height:1 !important; font-weight:760 !important; }
.ic-resource-hero p,.ic-resource-directory-hero p,.ic-hub-hero p,.ic-all-hero p { color:#6c756e !important; font-size:16px !important; line-height:1.68 !important; }
.ic-resource-badge,.ic-section-kicker { font-family:var(--ic3-font) !important; }
.ic-resource-badge { min-height:30px !important; padding:0 10px !important; border-radius:999px !important; background:#fff !important; border:1px solid var(--ic3-line) !important; color:#69736c !important; font-size:11px !important; font-weight:700 !important; }
.ic-resource-type-tabs,.ic-dir-chips { justify-content:flex-start !important; margin:0 0 28px !important; gap:7px !important; }
.ic-resource-type-tabs a,.ic-dir-chips a { min-height:36px !important; padding:0 12px !important; border:1px solid var(--ic3-line) !important; border-radius:8px !important; background:#fff !important; color:#5f6962 !important; box-shadow:none !important; font-size:12px !important; font-weight:650 !important; }
.ic-resource-card-grid,.ic-dir-grid { gap:12px !important; }
.ic-resource-directory-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.ic-resource-card,.ic-dir-card { min-height:190px !important; padding:20px !important; border:1px solid var(--ic3-line) !important; border-radius:12px !important; background:#fff !important; box-shadow:none !important; transform:none !important; }
.ic-resource-card:hover,.ic-dir-card:hover { border-color:#cbd2cc !important; background:#fafbf9 !important; }
.ic-resource-card-type,.ic-section-kicker { color:#6f7871 !important; font-size:11px !important; font-weight:750 !important; letter-spacing:.07em !important; }
.ic-resource-card strong,.ic-dir-card h3 { color:var(--ic3-ink) !important; font-size:18px !important; line-height:1.2 !important; font-weight:750 !important; }
.ic-resource-card p,.ic-dir-card p { color:#6d766f !important; font-size:13px !important; line-height:1.6 !important; }
.ic-resource-card-arrow { margin-top:auto !important; color:var(--ic3-ink) !important; font-size:12px !important; font-weight:700 !important; }
.ic-resource-interactive,.ic-resource-article,.ic-resource-trust-card { border:1px solid var(--ic3-line) !important; border-radius:13px !important; box-shadow:none !important; background:#fff !important; }
.ic-resource-interactive { padding:24px !important; }
.ic-resource-article { padding:clamp(24px,4vw,38px) !important; }
.ic-resource-page .icv3-engine input,.ic-resource-page .icv3-engine select,.ic-resource-page .icv3-engine textarea { border-radius:9px !important; font-family:var(--ic3-font) !important; }
.ic-resource-page .icv3-engine button { background:var(--ic3-blue) !important; border-radius:9px !important; box-shadow:none !important; font-family:var(--ic3-font) !important; }


/* ---------- core static pages ---------- */
.ic-core-page {
  width: min(980px, calc(100% - 36px));
  margin: 0 auto;
  padding: 72px 0 92px;
  background: transparent;
}
.ic-core-hero {
  width: min(760px, 100%);
  margin: 0 0 42px;
}
.ic-core-kicker {
  display: inline-block;
  margin: 0 0 12px;
  color: var(--ic3-muted);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .075em;
  line-height: 1.2;
  text-transform: uppercase;
}
.ic-core-hero h1 {
  margin: 0 0 14px !important;
  max-width: 800px;
  font-size: clamp(42px, 5.4vw, 66px) !important;
  line-height: 1 !important;
  font-weight: 760 !important;
  letter-spacing: -.052em !important;
}
.ic-core-hero > p {
  margin: 0 !important;
  max-width: 720px;
  color: #69736c !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}
.ic-core-card,
.ic-core-summary {
  margin: 0 0 14px;
  padding: 28px;
  border: 1px solid var(--ic3-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: none;
}
.ic-core-lead { background: #f7f9ff; }
.ic-core-note { background: #f4faf1; }
.ic-core-card h2 {
  margin: 0 0 12px !important;
  font-size: clamp(23px, 2.7vw, 31px) !important;
  line-height: 1.1 !important;
  font-weight: 750 !important;
}
.ic-core-copy p,
.ic-core-card > p,
.ic-core-summary p,
.ic-core-copy li {
  margin-top: 0;
  color: #5d6861 !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
}
.ic-core-copy p:last-child,
.ic-core-card > p:last-child,
.ic-core-summary p:last-child { margin-bottom: 0; }
.ic-core-copy ul { margin: 14px 0 0; padding-left: 21px; }
.ic-core-copy li + li { margin-top: 7px; }
.ic-core-summary {
  background: var(--ic3-peach-soft);
}
.ic-core-summary > strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ic3-ink);
  font-size: 14px;
  font-weight: 760;
}
.ic-core-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 14px;
  overflow: hidden;
  border: 1px solid var(--ic3-line);
  border-radius: 14px;
  background: #fff;
}
.ic-core-stats > div {
  padding: 24px 18px;
  border-right: 1px solid var(--ic3-line);
}
.ic-core-stats > div:last-child { border-right: 0; }
.ic-core-stats strong {
  display: block;
  color: var(--ic3-ink);
  font-size: 26px;
  line-height: 1.1;
}
.ic-core-stats span {
  display: block;
  margin-top: 5px;
  color: var(--ic3-muted);
  font-size: 12px;
}
.ic-core-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 20px;
}
.ic-core-principles article {
  padding: 22px;
  border: 1px solid var(--ic3-line);
  border-radius: 12px;
  background: #fafbf9;
}
.ic-core-principles article > span {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin-bottom: 18px;
  border-radius: 9px;
  background: var(--ic3-blue-soft);
  color: var(--ic3-blue);
  font-size: 11px;
  font-weight: 800;
}
.ic-core-principles h3 {
  margin: 0 0 8px !important;
  font-size: 17px !important;
  font-weight: 750 !important;
}
.ic-core-principles p {
  margin: 0 !important;
  color: #6a746d !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
}
.ic-core-contact-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 14px;
}
.ic-core-contact-panel { background: #f6f8ff; }
.ic-core-email-card { align-self: stretch; }
.ic-core-email {
  display: inline-block;
  margin-top: 18px;
  color: var(--ic3-blue) !important;
  font-size: clamp(20px, 2.4vw, 28px);
  font-weight: 760;
  text-decoration: none !important;
  overflow-wrap: anywhere;
}
.ic-core-contact-list { margin: 22px 0; }
.ic-core-contact-list > div {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 14px;
  padding: 12px 0;
  border-top: 1px solid var(--ic3-line);
}
.ic-core-contact-list dt { color: var(--ic3-muted); font-size: 12px; font-weight: 700; }
.ic-core-contact-list dd { margin: 0; color: var(--ic3-ink); font-size: 14px; font-weight: 650; }
.ic-core-contact-list a { color: var(--ic3-blue) !important; text-decoration: none !important; }
.ic-core-callout {
  padding: 18px;
  border-radius: 11px;
  background: #fff;
  border: 1px solid var(--ic3-line);
}
.ic-core-callout strong { color: var(--ic3-ink); font-size: 13px; }
.ic-core-callout p { margin: 7px 0 0 !important; font-size: 13.5px !important; }
.ic-core-small-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.ic-core-small-grid article {
  padding: 22px;
  border: 1px solid var(--ic3-line);
  border-radius: 12px;
  background: #fff;
}
.ic-core-small-grid h3 { margin: 0 0 8px !important; font-size: 16px !important; }
.ic-core-small-grid p { margin: 0 !important; color: #6a746d !important; font-size: 13.5px !important; line-height: 1.65 !important; }
.ic-core-link {
  color: var(--ic3-blue) !important;
  font-weight: 700;
  text-decoration: none !important;
}
.ic-core-link:hover { text-decoration: underline !important; text-underline-offset: 3px; }
.ic-core-links {
  display: flex;
  gap: 10px 18px;
  flex-wrap: wrap;
  padding: 22px 0 0;
}
.ic-core-updated {
  margin: -24px 0 24px !important;
  color: var(--ic3-muted) !important;
  font-size: 12px !important;
}

/* Old calculator HTML occasionally contains 11–12px helper copy. Keep the
   functionality and semantic colors, but normalize tiny text in the v3 shell. */
.icv3-engine [style*="font-size:11px"],
.icv3-engine [style*="font-size: 11px"] { font-size: 13px !important; line-height: 1.5 !important; }
.icv3-engine [style*="font-size:12px"],
.icv3-engine [style*="font-size: 12px"] { font-size: 13.5px !important; line-height: 1.55 !important; }

/* ---------- responsive ---------- */
@media (max-width: 900px) {
  .icv3-showcase-grid,.icv3-dark-band { grid-template-columns:1fr; }
  .icv3-mini-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .icv3-popular-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .icv3-library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .icv3-platform-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .icv3-cta { align-items:flex-start; flex-direction:column; }
  body.is-ic-calculator-page .ic-tool-shell { grid-template-columns:1fr !important; }
  body.is-ic-calculator-page .ic-tool-aside { position:static !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .ic-resource-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .ic-core-contact-grid { grid-template-columns:1fr; }
  .ic-core-principles { grid-template-columns:1fr; }
}
@media (max-width: 680px) {
  .icv3-home { width:min(100% - 24px,1180px); }
  .icv3-hero { min-height:auto; padding:64px 8px 56px; }
  .icv3-hero h1 { font-size:clamp(39px,12vw,54px) !important; }
  .icv3-float { display:none; }
  .icv3-search { grid-template-columns:1fr; }
  .icv3-search button { width:100%; }
  .icv3-metric-strip { grid-template-columns:1fr 1fr; }
  .icv3-metric-strip > div:nth-child(2){border-right:0}.icv3-metric-strip > div:nth-child(-n+2){border-bottom:1px solid var(--ic3-line)}
  .icv3-section { padding:48px 0; }
  .icv3-showcase { grid-template-columns:1fr; }
  .icv3-showcase-visual { min-height:180px; border-right:0; border-bottom:1px solid rgba(24,35,31,.07); }
  .icv3-mini-grid,.icv3-popular-grid,.icv3-library-grid,.icv3-platform-stats { grid-template-columns:1fr; }
  .icv3-dark-copy { padding:32px 24px; }.icv3-dark-demo{padding:26px 20px}.icv3-cta{padding:30px 24px}.icv3-cta h2{font-size:30px !important}
  .icv3-section-head-row { align-items:flex-start; flex-direction:column; }
  body.is-ic-calculator-page .ic-tool-page,.ic-resource-page,.ic-resource-directory,.ic-category-hub,.ic-all-page { width:min(100% - 24px,1120px) !important; padding-top:44px !important; }
  body.is-ic-calculator-page .ic-tool-hero h1,.ic-resource-hero h1,.ic-resource-directory-hero h1,.ic-hub-hero h1,.ic-all-hero h1 { font-size:clamp(36px,11vw,48px) !important; }
  body.is-ic-calculator-page .ic-tool-main { padding:20px; }
  body.is-ic-calculator-page .ic-tool-aside,body.is-ic-calculator-page .ic-tool-related-grid,.ic-resource-directory-grid { grid-template-columns:1fr !important; }
  body.is-ic-calculator-page .ic-tool-seo-grid { grid-template-columns:1fr !important; }
  .ic-core-page { width:min(100% - 24px,980px); padding:48px 0 68px; }
  .ic-core-stats { grid-template-columns:1fr 1fr; }
  .ic-core-stats > div:nth-child(2) { border-right:0; }
  .ic-core-stats > div:nth-child(-n+2) { border-bottom:1px solid var(--ic3-line); }
  .ic-core-small-grid { grid-template-columns:1fr; }
  .ic-core-card,.ic-core-summary { padding:22px; }
  .ic-core-contact-list > div { grid-template-columns:1fr; gap:4px; }
}

/* ---------- v2.5 interactive tool workspace ---------- */
.ic-resource-page .ic-resource-widget {
  padding: 0 !important;
  color: var(--ic3-text) !important;
}
.ic-resource-page .ic-resource-widget-grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 16px !important;
}
.ic-resource-page .ic-resource-widget label {
  display: block !important;
  color: var(--ic3-ink) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}
.ic-resource-page .ic-resource-widget input,
.ic-resource-page .ic-resource-widget select,
.ic-resource-page .ic-resource-widget textarea {
  width: 100% !important;
  min-height: 50px !important;
  margin-top: 8px !important;
  padding: 12px 14px !important;
  border: 1px solid var(--ic3-line-strong) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--ic3-ink) !important;
  box-shadow: none !important;
  font-family: var(--ic3-font) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}
.ic-resource-page .ic-resource-widget textarea { min-height: 150px !important; resize: vertical !important; }
.ic-resource-page .ic-resource-widget input:focus,
.ic-resource-page .ic-resource-widget select:focus,
.ic-resource-page .ic-resource-widget textarea:focus {
  outline: 3px solid rgba(69,103,242,.13) !important;
  border-color: var(--ic3-blue) !important;
}
.ic-resource-page .ic-resource-widget button {
  min-height: 48px !important;
  margin: 18px 8px 0 0 !important;
  padding: 11px 18px !important;
  border: 1px solid var(--ic3-blue) !important;
  border-radius: 9px !important;
  background: var(--ic3-blue) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-family: var(--ic3-font) !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  cursor: pointer !important;
}
.ic-resource-page .ic-resource-widget button:hover { background: var(--ic3-blue-dark) !important; border-color: var(--ic3-blue-dark) !important; }
.ic-resource-page .ic-resource-widget button.ic-secondary-action {
  background: #fff !important;
  color: var(--ic3-ink) !important;
  border-color: var(--ic3-line-strong) !important;
}
.ic-resource-page .ic-resource-widget button.ic-secondary-action:hover { background: var(--ic3-soft) !important; }
.ic-resource-page .ic-widget-intro { margin: 0 0 18px !important; color: var(--ic3-text) !important; font-size: 15px !important; }
.ic-resource-page .ic-resource-widget-summary {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  margin: 20px 0 0 !important;
  padding: 20px !important;
  border: 1px solid #dce3ff !important;
  border-radius: 12px !important;
  background: var(--ic3-blue-soft) !important;
  box-shadow: none !important;
}
.ic-resource-page .ic-resource-widget-summary:empty { display:none !important; }
.ic-resource-page .ic-resource-widget-summary strong { color: var(--ic3-ink) !important; font-size: clamp(26px,4vw,40px) !important; line-height:1.08 !important; font-weight:760 !important; }
.ic-resource-page .ic-resource-widget-summary span { color: var(--ic3-text) !important; font-size: 14px !important; line-height:1.55 !important; }
.ic-resource-page .ic-metric-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-top:12px !important;
}
.ic-resource-page .ic-metric-grid > div {
  min-width:0 !important;
  padding:16px !important;
  border:1px solid var(--ic3-line) !important;
  border-radius:11px !important;
  background:#fff !important;
}
.ic-resource-page .ic-metric-grid span { display:block !important; margin-bottom:7px !important; color:var(--ic3-muted) !important; font-size:11px !important; font-weight:700 !important; letter-spacing:.045em !important; text-transform:uppercase !important; }
.ic-resource-page .ic-metric-grid strong { display:block !important; overflow-wrap:anywhere !important; color:var(--ic3-ink) !important; font-size:20px !important; line-height:1.25 !important; font-weight:750 !important; }
.ic-resource-page .ic-generated-table-wrap { margin-top:16px !important; overflow:auto !important; border:1px solid var(--ic3-line) !important; border-radius:12px !important; background:#fff !important; }
.ic-resource-page .ic-generated-table-wrap table { width:100% !important; margin:0 !important; border-collapse:collapse !important; font-size:14px !important; }
.ic-resource-page .ic-generated-table-wrap th,
.ic-resource-page .ic-generated-table-wrap td { padding:11px 13px !important; border:0 !important; border-bottom:1px solid var(--ic3-line) !important; text-align:left !important; }
.ic-resource-page .ic-generated-table-wrap th { color:var(--ic3-ink) !important; background:var(--ic3-soft) !important; font-weight:750 !important; }
.ic-resource-page .ic-sequence-output {
  margin-top:16px !important;
  padding:18px !important;
  border:1px solid var(--ic3-line) !important;
  border-radius:12px !important;
  background:#fff !important;
  color:var(--ic3-ink) !important;
  font-size:15px !important;
  line-height:1.8 !important;
  overflow-wrap:anywhere !important;
}
.ic-resource-page .ic-step-list { display:grid !important; gap:9px !important; margin-top:12px !important; }
.ic-resource-page .ic-step-list > div { display:grid !important; grid-template-columns:30px 1fr !important; gap:10px !important; align-items:start !important; padding:13px 15px !important; border:1px solid var(--ic3-line) !important; border-radius:10px !important; background:#fff !important; }
.ic-resource-page .ic-step-list > div > span { display:grid !important; place-items:center !important; width:28px !important; height:28px !important; border-radius:50% !important; background:var(--ic3-green-soft) !important; color:var(--ic3-ink) !important; font-size:12px !important; font-weight:800 !important; }
.ic-resource-page .ic-step-list p { margin:3px 0 0 !important; color:var(--ic3-text) !important; font-size:14px !important; }
.ic-resource-page .ic-fraction-bars { display:grid !important; gap:10px !important; margin-top:18px !important; }
.ic-resource-page .ic-fraction-row { display:grid !important; grid-auto-flow:column !important; grid-auto-columns:1fr !important; gap:4px !important; min-height:42px !important; }
.ic-resource-page .ic-fraction-row span { display:block !important; min-width:5px !important; border:1px solid var(--ic3-line-strong) !important; border-radius:7px !important; background:#fff !important; }
.ic-resource-page .ic-fraction-row span.is-filled { background:var(--ic3-blue) !important; border-color:var(--ic3-blue) !important; }
.ic-resource-page .ic-coordinate-svg { display:block !important; width:100% !important; min-height:300px !important; margin-top:18px !important; border:1px solid var(--ic3-line) !important; border-radius:12px !important; background:#fff !important; }
.ic-resource-page .ic-coordinate-svg .ic-gridline { stroke:#edf0ec !important; stroke-width:1 !important; }
.ic-resource-page .ic-coordinate-svg .ic-axis { stroke:#aeb8b0 !important; stroke-width:1.5 !important; }
.ic-resource-page .ic-coordinate-svg .ic-plot-point { fill:var(--ic3-blue) !important; }
.ic-resource-page .ic-coordinate-svg .ic-plot-label { fill:var(--ic3-text) !important; font-family:var(--ic3-font) !important; font-size:12px !important; }

@media (max-width: 720px) {
  .ic-resource-page .ic-resource-widget-grid,
  .ic-resource-page .ic-metric-grid { grid-template-columns:1fr !important; }
  .ic-resource-page .ic-resource-widget button { width:100% !important; margin-right:0 !important; }
}
