/* Clip horizontal overflow without making the body a scroll container for the sticky menu. */
body.hb-launch-document { overflow-x:clip; overflow-y:visible; }
.hb-page, .hb-promo, .hb-launch-bar { --hb-ink:#173329; --hb-green:#14633d; --hb-muted:#4c6058; --hb-line:#cfddd5; font-family:"Poppins",Arial,sans-serif; letter-spacing:0; }
.hb-page *, .hb-promo *, .hb-launch-bar * { box-sizing:border-box; letter-spacing:0; }
.hb-wrap { width:min(1120px, calc(100% - 40px)); margin-inline:auto; }
.hb-page { background:#fff; color:var(--hb-ink); font-size:16px; line-height:1.7; }
.hb-page h1, .hb-page h2, .hb-page h3, .hb-promo h2 { margin:0 0 16px; color:var(--hb-ink); font-weight:800; line-height:1.15; }
.hb-page h1 { font-size:52px; max-width:640px; }
.hb-page h2 { font-size:32px; }
.hb-page h3 { font-size:20px; }
.hb-page p, .hb-promo p { margin:0 0 18px; color:var(--hb-muted); }
.hb-page a:not(.hb-button) { color:#126039; text-underline-offset:4px; }
.hb-page a:focus-visible, .hb-promo a:focus-visible, .hb-launch-bar:focus-visible, .hb-page summary:focus-visible { outline:3px solid #a43e0f; outline-offset:5px; }
.hb-page section[id] { scroll-margin-top:110px; }
.hb-page .hb-kicker, .hb-promo .hb-kicker { font-size:13px; font-weight:800; text-transform:uppercase; color:#14633d; margin-bottom:12px; }
.hb-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:24px 0 16px; }
.hb-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 20px; border:2px solid #14633d; border-radius:5px; background:#14633d; color:#fff!important; font-size:15px; font-weight:700; line-height:1.4; text-decoration:none!important; text-align:center; }
.hb-button:hover { background:#0c482b; border-color:#0c482b; }
.hb-button-secondary { background:transparent; color:#14633d!important; }
.hb-button-secondary:hover { background:#e3f1e8; }
.hb-launch-bar { display:flex; justify-content:center; align-items:center; gap:12px 24px; flex-wrap:wrap; padding:12px 20px; background:#f5d851; color:#19382a!important; text-decoration:none!important; font-size:14px; line-height:1.4; }
.hb-launch-bar:hover { background:#f0cf38; }
.hb-bar-link { font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.hb-hero { background:#edf7ed; border-bottom:1px solid var(--hb-line); padding:28px 0 38px; }
.hb-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; font-size:13px; margin-bottom:24px; }
.hb-hero-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(250px,.8fr); align-items:center; gap:48px; }
.hb-hero .hb-lead { font-size:21px; color:#173329; font-weight:600; margin-bottom:12px; }
.hb-hero figure { margin:0; }
.hb-hero-cover { display:block; width:100%; max-width:290px; height:auto; aspect-ratio:1000/1545; object-fit:contain; margin-inline:auto; box-shadow:8px 12px 0 #d4e5c9; }
.hb-hero figcaption { margin:14px auto 0; font-size:12px; text-align:center; color:#4c6058; }
.hb-order-note { font-size:14px; font-weight:600; }
.hb-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; padding:24px 0; border-bottom:1px solid var(--hb-line); gap:20px; }
.hb-facts div { border-left:3px solid #d7b329; padding-left:16px; }
.hb-facts dt { font-size:22px; font-weight:800; line-height:1.3; }
.hb-facts dd { font-size:14px; color:var(--hb-muted); margin:4px 0 0; }
.hb-section { padding:64px 0; }
.hb-section-heading { max-width:760px; margin-bottom:30px; }
.hb-previews { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.hb-previews figure { margin:0; min-width:0; }
.hb-previews img { display:block; width:100%; height:auto; aspect-ratio:1056/816; object-fit:contain; border:1px solid var(--hb-line); background:#fff; }
.hb-previews figcaption { margin-top:14px; font-size:14px; color:var(--hb-muted); }
.hb-previews figcaption strong { display:block; color:var(--hb-ink); font-size:17px; margin-bottom:4px; }
.hb-activities { display:flex; flex-wrap:wrap; gap:10px 24px; padding:0; margin:24px 0 0; list-style:none; font-size:14px; font-weight:600; }
.hb-activities li::before { content:"+"; color:#14633d; margin-right:8px; font-weight:800; }
.hb-teach { background:#f1f6fb; }
.hb-principles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 30px; margin:28px 0; }
.hb-principles div { border-top:2px solid #b9cddd; padding-top:14px; }
.hb-principles dt { font-size:17px; font-weight:700; margin-bottom:4px; }
.hb-principles dt span { display:inline-block; color:#246695; margin-right:8px; }
.hb-principles dd { font-size:14px; color:var(--hb-muted); margin:0; }
.hb-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:32px; counter-reset:steps; }
.hb-steps article { border-top:3px solid #ddb833; padding-top:18px; }
.hb-steps p { font-size:15px; }
.hb-custom { background:#edf7ed; }
.hb-custom-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; }
.hb-checklist { padding-left:20px; margin:0; }
.hb-checklist li { margin-bottom:12px; }
.hb-checklist li::marker { color:#14633d; }
.hb-quote { border-top:6px solid #14633d; }
.hb-quote-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:56px; }
.hb-quote-details { border-left:1px solid var(--hb-line); padding-left:32px; }
.hb-quote-details dt { font-size:16px; font-weight:700; }
.hb-quote-details dd { font-size:14px; color:var(--hb-muted); margin:4px 0 20px; }
.hb-page .hb-small { font-size:14px; }
.hb-faq { padding-top:0; }
.hb-faq details { padding:18px 0; border-bottom:1px solid var(--hb-line); }
.hb-faq summary { cursor:pointer; font-weight:700; padding-right:16px; }
.hb-faq details p { margin:16px 0 0; max-width:880px; }
.hb-promo { background:#edf7ed; color:var(--hb-ink); border-top:1px solid #cfddd5; border-bottom:1px solid #cfddd5; padding:28px 0; }
.hb-promo-inner { display:grid; grid-template-columns:110px minmax(0,1fr); gap:28px; align-items:center; }
.hb-promo-cover img { display:block; width:100%; height:auto; aspect-ratio:1000/1545; }
.hb-promo h2 { font-size:25px; margin-bottom:10px; }
.hb-promo p { font-size:15px; line-height:1.6; margin-bottom:12px; }
.hb-promo .hb-promo-details { font-size:13px; font-weight:600; }
.hb-promo small { display:block; color:#4c6058; margin-top:12px; font-size:12px; line-height:1.6; }
.hb-promo-feature { padding:36px 0; }
.hb-promo-feature .hb-promo-inner { grid-template-columns:150px minmax(0,1fr); gap:36px; }
.hb-promo-feature h2 { font-size:30px; }
@media(max-width:991px) {
  .hb-launch-document .jocaed-navbar .navbar-collapse { max-height:calc(100vh - 160px); max-height:calc(100dvh - 160px); overflow-y:auto; }
}
@media(max-width:800px) {
  .hb-hero-grid { grid-template-columns:minmax(0,1.3fr) minmax(170px,.7fr); gap:28px; }
  .hb-page h1 { font-size:36px; }
  .hb-page h2 { font-size:28px; }
  .hb-principles, .hb-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hb-custom-inner, .hb-quote-layout { grid-template-columns:1fr; gap:28px; }
  .hb-quote-details { padding:20px 0 0; border-left:0; border-top:1px solid var(--hb-line); }
}
@media(max-width:560px) {
  .hb-wrap { width:calc(100% - 32px); }
  .hb-launch-bar { gap:5px 12px; padding:10px 16px; font-size:12px; }
  .hb-launch-bar strong { flex-basis:100%; font-size:13px; text-align:center; }
  .hb-hero { padding:22px 0 28px; }
  .hb-breadcrumb { margin-bottom:18px; font-size:12px; }
  .hb-hero-grid { grid-template-columns:1fr; gap:24px; }
  .hb-page h1 { font-size:34px; }
  .hb-hero .hb-lead { font-size:19px; }
  .hb-hero-cover { max-width:180px; }
  .hb-hero figure { grid-row:2; }
  .hb-actions { align-items:stretch; flex-direction:column; margin-top:20px; }
  .hb-section { padding:42px 0; }
  .hb-previews, .hb-steps { grid-template-columns:1fr; gap:24px; }
  .hb-facts { padding:20px 0; }
  .hb-facts dt { font-size:20px; }
  .hb-promo-inner, .hb-promo-feature .hb-promo-inner { grid-template-columns:76px minmax(0,1fr); gap:18px; align-items:start; }
  .hb-promo h2, .hb-promo-feature h2 { font-size:22px; }
  .hb-promo .hb-kicker { font-size:11px; }
  .hb-promo p { font-size:14px; }
  .hb-promo .hb-button { padding:10px 14px; font-size:14px; }
  .hb-faq { padding-top:0; }
}
@media(prefers-reduced-motion:no-preference) { .hb-button { transition:background .15s ease; } }

.hb-promo.hb-game-promo { padding:36px 0; background:#fff9de; border-top:6px solid #e8bd21; border-bottom:1px solid #e4d9b0; }
.hb-game-promo .hb-game-promo-inner { display:grid; grid-template-columns:190px minmax(0,1fr); gap:36px; align-items:center; }
.hb-game-promo .hb-game-cover { display:block; max-width:190px; }
.hb-game-promo .hb-game-cover img { display:block; width:100%; height:auto; aspect-ratio:1000/1545; object-fit:contain; box-shadow:6px 8px 0 #e7dba8; }
.hb-game-promo .hb-game-promo-copy { min-width:0; }
.hb-game-promo h2 { font-size:32px; max-width:720px; }
.hb-game-promo .hb-game-lead { font-size:17px; color:#173329; max-width:720px; }
.hb-game-promo .hb-game-facts { display:flex; flex-wrap:wrap; gap:8px 24px; list-style:none; padding:12px 0; margin:0 0 8px; color:#173329; font-size:14px; font-weight:600; }
.hb-game-promo .hb-game-facts strong { font-size:22px; }
.hb-game-promo .hb-game-personalized { font-size:14px; }
.hb-game-promo .hb-actions { margin:20px 0 14px; }
.hb-game-promo .hb-game-order-note { font-size:13px; color:#173329; font-weight:700; margin-bottom:0; }
.hb-game-promo small { margin-top:5px; }
.hb-promo.hb-game-promo-after { background:#173f32; border-top:6px solid #f5d851; border-bottom:0; }
.hb-game-promo-after h2, .hb-game-promo-after .hb-game-lead, .hb-game-promo-after .hb-game-facts, .hb-game-promo-after .hb-game-order-note { color:#fff; }
.hb-game-promo-after .hb-kicker { color:#f5d851; }
.hb-game-promo-after .hb-game-personalized, .hb-game-promo-after small { color:#e1eee6; }
.hb-game-promo-after .hb-game-cover img { box-shadow:6px 8px 0 #2f624d; }
.hb-game-promo-after .hb-button { background:#f5d851; border-color:#f5d851; color:#173329!important; }
.hb-game-promo-after .hb-button:hover { background:#ffe877; border-color:#ffe877; }
.hb-game-promo-after .hb-button-secondary { background:transparent; border-color:#e1eee6; color:#fff!important; }
.hb-game-promo-after .hb-button-secondary:hover { background:#295543; border-color:#fff; }
.hb-game-promo-after a:focus-visible { outline-color:#f5d851; }
@media(max-width:800px) {
  .hb-game-promo .hb-game-promo-inner { grid-template-columns:140px minmax(0,1fr); gap:24px; }
  .hb-game-promo h2 { font-size:28px; }
}
@media(max-width:560px) {
  .hb-promo.hb-game-promo { padding:26px 0; }
  .hb-game-promo .hb-game-promo-inner { grid-template-columns:minmax(0,1fr); gap:22px; }
  .hb-game-promo .hb-game-cover { width:130px; margin-inline:auto; }
  .hb-game-promo h2 { font-size:26px; }
  .hb-game-promo .hb-game-lead { font-size:15px; }
  .hb-game-promo .hb-game-facts { gap:6px 18px; font-size:13px; }
  .hb-game-promo .hb-button { width:100%; }
}
@media print { .hb-game-promo { display:none!important; } }
