/*
 * Junior Kotipathi full-page presentation.
 * Everything is scoped to .jkc-page so the page remains predictable inside
 * WordPress themes and page builders.
 */
.jkc-page,
.jkc-page * { box-sizing:border-box; }
.jkc-page { width:100%; margin:0; padding:0; color:#292522; font-family:inherit; line-height:1.65; }
.jkc-page .jkc-page-container { width:min(1180px,calc(100% - 40px)); margin:0 auto; }

/* -------------------------------------------------------------------------
 * Theme-conflict protection
 * Keep page typography tied to explicit JKC heading classes. WordPress themes
 * commonly style bare h1/h2/h3 selectors (sometimes with very broad rules),
 * so these declarations intentionally use the plugin namespace + heading
 * class rather than relying on generic element selectors.
 * ---------------------------------------------------------------------- */
.jkc-page .jkc-heading {
  font-family: inherit !important;
  text-transform: none !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.jkc-page .jkc-page-title {
  margin: 0 0 22px !important;
  padding: 0 !important;
  max-width: 900px !important;
  color: #292522 !important;
  font-size: clamp(42px,6vw,72px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em !important;
  font-weight: 800 !important;
}
.jkc-page .jkc-section-title {
  margin: 0 0 11px !important;
  padding: 0 !important;
  color: #292522 !important;
  font-size: clamp(30px,4vw,46px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.03em !important;
  font-weight: 750 !important;
}
.jkc-page .jkc-content-title {
  margin: 0 0 21px !important;
  padding: 0 !important;
  color: #292522 !important;
  font-size: clamp(29px,4vw,43px) !important;
  line-height: 1.14 !important;
  letter-spacing: -.03em !important;
  font-weight: 750 !important;
}
.jkc-page .jkc-reward-title {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 23px !important;
  line-height: 1.25 !important;
  letter-spacing: normal !important;
  font-weight: 750 !important;
}
.jkc-page .jkc-page-intro { padding:70px 0 62px; background:#fff; }
.jkc-page .jkc-page-intro .jkc-page-container { max-width:980px; margin-left:auto; margin-right:auto; }
.jkc-page .jkc-page-kicker { margin:0 0 11px; padding:0; color:#ed3c22; font-size:13px; font-weight:800; letter-spacing:.12em; line-height:1.3; text-transform:uppercase; }
.jkc-page .jkc-page-intro h1 { margin:0 0 22px; padding:0; max-width:900px; color:#292522; font-size:clamp(42px,6vw,72px); line-height:1.02; letter-spacing:-.045em; font-weight:800; }
.jkc-page .jkc-page-intro p { max-width:930px; margin:0 0 17px; padding:0; color:#635b52; font-size:18px; line-height:1.75; }
.jkc-page .jkc-page-intro p:last-child { margin-bottom:0; }
.jkc-page .jkc-page-section { padding:78px 0; background:#fff; }
.jkc-page .jkc-calculator-section { padding-top:68px; padding-bottom:84px; background:#fff9ea; border-top:1px solid #f0dfb9; border-bottom:1px solid #f0dfb9; }
.jkc-page .jkc-section-heading { max-width:820px; margin:0 auto 34px; text-align:center; }
.jkc-page .jkc-section-heading-left { margin-left:0; margin-right:0; text-align:left; }
.jkc-page .jkc-section-heading h2 { margin:0 0 11px; padding:0; color:#292522; font-size:clamp(30px,4vw,46px); line-height:1.12; letter-spacing:-.03em; font-weight:750; }
.jkc-page .jkc-section-heading p { margin:0; padding:0; color:#6b6258; font-size:16px; line-height:1.65; }

/* Dynamic investment-plan table */
.jkc-page .jkc-plan-table-section { background:#fff; padding-top:78px; padding-bottom:82px; }
.jkc-page .jkc-table-wrap { width:100%; overflow:auto; -webkit-overflow-scrolling:touch; border:1px solid #ead7ad; border-radius:18px; background:#fff; box-shadow:0 12px 30px rgba(70,45,15,.07); }
.jkc-page .jkc-plan-table { width:100%; min-width:760px; margin:0; border-collapse:separate; border-spacing:0; color:#332e29; font-size:14px; }
.jkc-page .jkc-plan-table th,
.jkc-page .jkc-plan-table td { margin:0; padding:13px 15px; border:0; border-right:1px solid #f1e5ca; border-bottom:1px solid #f1e5ca; text-align:center; white-space:nowrap; }
.jkc-page .jkc-plan-table thead th { position:sticky; top:0; z-index:2; background:#ed3c22; color:#fff; font-weight:800; }
.jkc-page .jkc-plan-table thead th:first-child { left:0; z-index:3; text-align:left; background:#f5a623; }
.jkc-page .jkc-plan-table tbody th { position:sticky; left:0; z-index:1; background:#fff8e8; color:#3c352e; font-weight:750; text-align:left; }
.jkc-page .jkc-plan-table tbody tr:nth-child(even) td { background:#fffaf0; }
.jkc-page .jkc-plan-table tbody tr:nth-child(even) th { background:#fff1cf; }
.jkc-page .jkc-plan-table tr:last-child th,
.jkc-page .jkc-plan-table tr:last-child td { border-bottom:0; }
.jkc-page .jkc-plan-table th:last-child,
.jkc-page .jkc-plan-table td:last-child { border-right:0; }

.jkc-page .jkc-content-grid { display:grid; gap:48px; align-items:start; }
.jkc-page .jkc-two-col { grid-template-columns:1fr 1fr; }
.jkc-page .jkc-content-grid h2 { margin:0 0 21px; padding:0; color:#292522; font-size:clamp(29px,4vw,43px); line-height:1.14; letter-spacing:-.03em; font-weight:750; }
.jkc-page .jkc-soft-card { padding:38px; border:1px solid #ead7ad; border-radius:24px; background:linear-gradient(145deg,#fffaf0,#fff2d0); }
.jkc-page .jkc-check-list,.jkc-page .jkc-note-list { list-style:none !important; margin:0 !important; padding:0 !important; }
.jkc-page .jkc-check-list > li,
.jkc-page .jkc-note-list > li { list-style:none !important; }
.jkc-page .jkc-check-list > li { position:relative !important; display:block !important; margin:0 !important; padding:0 0 13px 30px !important; color:#514a42 !important; }
.jkc-page .jkc-check-list > li::before { content:"✓" !important; position:absolute !important; left:0 !important; top:0 !important; display:block !important; width:18px !important; height:22px !important; margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important; color:#ed3c22 !important; font-family:inherit !important; font-size:18px !important; font-weight:900 !important; line-height:1.25 !important; transform:none !important; box-shadow:none !important; }
.jkc-page .jkc-check-list > li::after,
.jkc-page .jkc-note-list > li::after { content:none !important; display:none !important; }

/* Milestone rewards: orange cards on the normal page background. */
.jkc-page .jkc-rewards-section { background:#fff9ea; color:#292522; padding-top:82px; padding-bottom:88px; }
.jkc-page .jkc-rewards-section .jkc-page-kicker { color:#ed3c22; }
.jkc-page .jkc-rewards-section .jkc-section-heading h2 { color:#292522; }
.jkc-page .jkc-rewards-section .jkc-section-heading p { color:#6b6258; }
.jkc-page .jkc-rewards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.jkc-page .jkc-reward-card { min-height:260px; padding:34px; border:0; border-radius:22px; color:#fff; box-shadow:0 14px 32px rgba(194,77,28,.16); transition:transform .2s ease, box-shadow .2s ease; }
.jkc-page .jkc-reward-card:hover { transform:translateY(-4px); box-shadow:0 20px 38px rgba(194,77,28,.22); }
.jkc-page .jkc-reward-card-1 { background:#ef4b22; }
.jkc-page .jkc-reward-card-2 { background:#f15a24; }
.jkc-page .jkc-reward-card-3 { background:#e9471f; }
.jkc-page .jkc-reward-card h3 { margin:0 0 14px; padding:0; color:#fff; font-size:23px; line-height:1.25; font-weight:750; }
.jkc-page .jkc-reward-card p,.jkc-page .jkc-reward-card li { color:rgba(255,255,255,.94); }
.jkc-page .jkc-reward-card p { margin:0; }
.jkc-page .jkc-reward-card ul { margin:0; padding:0 0 0 21px; }
.jkc-page .jkc-reward-card li { margin-bottom:8px; }
.jkc-page .jkc-reward-card li:last-child { margin-bottom:0; }

.jkc-page .jkc-image-section { padding:20px 0 78px; }
.jkc-page .jkc-image-section img { display:block; width:100%; height:auto; max-height:620px; object-fit:cover; border-radius:26px; box-shadow:0 18px 45px rgba(60,40,15,.12); }
.jkc-page .jkc-note-list > li {
  position:relative !important;
  display:block !important;
  margin:0 !important;
  padding:16px 0 !important;
  color:#6b6256 !important;
  border:0 !important;
  border-bottom:1px solid #eadfc9 !important;
  list-style:none !important;
  background:transparent !important;
}
.jkc-page .jkc-note-list > li:first-child { padding-top:0 !important; }
.jkc-page .jkc-note-list > li:last-child { margin-bottom:0 !important; padding-bottom:0 !important; border-bottom:0 !important; }
.jkc-page .jkc-notes-card { height:100%; }

@media (max-width:800px) {
  .jkc-page .jkc-page-container { width:min(100% - 28px,1180px); }
  .jkc-page .jkc-page-intro { padding:50px 0 46px; }

  .jkc-page .jkc-page-title { font-size:clamp(38px,11vw,56px) !important; }
  .jkc-page .jkc-section-title { font-size:clamp(30px,8vw,40px) !important; }
  .jkc-page .jkc-content-title { font-size:clamp(29px,8vw,38px) !important; }
  .jkc-page .jkc-page-intro p { font-size:16px; line-height:1.68; }
  .jkc-page .jkc-page-section { padding:58px 0; }
  .jkc-page .jkc-calculator-section { padding-top:58px; padding-bottom:65px; }
  .jkc-page .jkc-two-col,.jkc-page .jkc-rewards-grid { grid-template-columns:1fr; }
  .jkc-page .jkc-soft-card,.jkc-page .jkc-reward-card { padding:28px; }
  .jkc-page .jkc-rewards-section { padding-top:64px; padding-bottom:68px; }
  .jkc-page .jkc-image-section { padding:0 0 58px; }
  .jkc-page .jkc-image-section img { border-radius:18px; }
}
