/* JO Boost page (boost.html). Uses the site's theme tokens so it follows every theme. */
.jo-boost{ max-width:980px; margin:0 auto; padding-bottom:40px; }
.jo-boost-hero{ text-align:center; padding:56px 12px 36px; position:relative; }
.jo-boost-hero::before{
  content:""; position:absolute; inset:-40px 0 auto; height:340px; z-index:-1; pointer-events:none;
  background:radial-gradient(60% 70% at 50% 0%, rgba(var(--accent-rgb),.22), transparent 70%);
}
.jo-boost-badge{
  display:inline-block; padding:6px 14px; border-radius:999px; font-size:13px; font-weight:700;
  background:rgba(var(--accent-rgb),.14); border:1px solid rgba(var(--accent-rgb),.4); color:var(--accent-2);
}
.jo-boost-hero h1{ font-family:var(--font-display); font-size:clamp(40px,8vw,68px); margin:16px 0 10px; line-height:1.05; letter-spacing:.5px; }
.jo-boost-hero p{ color:var(--text-1); font-size:17px; line-height:1.7; max-width:620px; margin:0 auto 24px; }
.jo-boost-cta{
  display:inline-flex !important; align-items:center; justify-content:center; gap:10px; width:auto !important;
  padding:15px 34px !important; font-size:17px; text-decoration:none; border-radius:14px;
}
.jo-boost-hero .jo-boost-meta{ font-size:13px; color:var(--text-2); margin:16px auto 0; }
.jo-boost-meta a{ color:var(--accent); }

.jo-boost-steps{ margin:24px 0 36px; }
.jo-boost-steps h2, .jo-boost-faq h2{ font-family:var(--font-display); font-size:26px; margin:0 0 16px; }
.jo-boost-steps ol{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.jo-boost-steps li{
  position:relative; background:var(--bg-2); border:1px solid var(--border); border-radius:16px; padding:22px 20px 20px;
}
.jo-boost-steps .n{
  display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%;
  background:var(--accent); color:var(--on-accent); font-weight:800; font-family:var(--font-display); margin-bottom:12px;
}
.jo-boost-steps h3{ margin:0 0 6px; font-size:18px; }
.jo-boost-steps li p{ margin:0; color:var(--text-1); font-size:14px; line-height:1.6; }

.jo-boost-cols{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:20px; }
.jo-boost-card{ background:var(--bg-2); border:1px solid var(--border); border-radius:18px; padding:24px; }
.jo-boost-card h2{ font-family:var(--font-display); font-size:22px; margin:0 0 14px; }
.jo-boost-card ul{ list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.jo-boost-card li{ position:relative; padding-inline-start:30px; color:var(--text-1); font-size:15px; line-height:1.55; }
.jo-boost-card li::before{
  content:""; position:absolute; inset-inline-start:0; top:2px; width:20px; height:20px; border-radius:50%;
  background:rgba(var(--accent-rgb),.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2ce6f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat;
}
.jo-boost-never li::before{
  background:rgba(120,200,150,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237fe0a8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v6c0 4.5 3 7.5 7 9 4-1.5 7-4.5 7-9V6l-7-3Z'/%3E%3C/svg%3E") center/12px no-repeat;
}

.jo-boost-honest{
  margin:22px 0; padding:16px 20px; border-radius:14px; font-size:14.5px; line-height:1.7; color:var(--text-1);
  background:rgba(var(--accent-rgb),.08); border:1px solid rgba(var(--accent-rgb),.28);
}
.jo-boost-faq{ margin:30px 0 10px; }
.jo-boost-faq details{ background:var(--bg-2); border:1px solid var(--border); border-radius:14px; margin-bottom:10px; padding:2px 18px; }
.jo-boost-faq summary{ cursor:pointer; padding:14px 0; font-weight:600; font-size:16px; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.jo-boost-faq summary::-webkit-details-marker{ display:none; }
.jo-boost-faq summary::after{ content:"+"; font-size:22px; color:var(--accent); line-height:1; }
.jo-boost-faq details[open] summary::after{ content:"−"; }
.jo-boost-faq details p{ margin:0 0 16px; color:var(--text-1); font-size:15px; line-height:1.7; }
.jo-boost-disclaimer{ text-align:center; margin-top:22px; }

@media (max-width:760px){
  .jo-boost-steps ol, .jo-boost-cols{ grid-template-columns:1fr; }
  .jo-boost-hero{ padding-top:34px; }
}
