/* Handbook sales page */
:root{--hb-terra:#d9714e;--hb-mustard:#e8b34a;--hb-sage:#8fae8b;--hb-plum:#7b5e8c;--hb-dark:#2c2622}
.hb *{box-sizing:border-box}
.hb .wrap{padding:0 24px}
.hb-hero{position:relative;overflow:hidden;background:var(--panel);border-bottom:1px solid var(--line)}
.hb-hero .wrap{position:relative;z-index:2;display:grid;gap:36px;align-items:center;padding:52px 24px 56px;grid-template-columns:1fr}
@media(min-width:860px){.hb-hero .wrap{grid-template-columns:1.05fr .95fr;padding:72px 24px 80px}}
.hb-blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55;pointer-events:none}
.hb-blob.a{width:420px;height:420px;background:#f3dfa8;left:-160px;top:-180px}
.hb-blob.b{width:380px;height:380px;background:#ead9ee;right:-120px;bottom:-200px}
.hb-kicker{font-family:system-ui,-apple-system,sans-serif;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dk);font-weight:700;margin:0 0 12px}
.hb-hero h1{font-size:clamp(34px,5vw,54px);line-height:1.06;margin:0 0 16px;letter-spacing:-.01em}
.hb-hero h1 em{font-style:normal;position:relative;white-space:nowrap;isolation:isolate}
.hb-hero h1 em::after{content:"";position:absolute;left:-2%;right:-2%;bottom:6%;height:.36em;background:var(--hb-mustard);opacity:.55;z-index:-1;border-radius:6px}
.hb-lead{font-size:19px;color:#5a5248;margin:0 0 24px;max-width:50ch;line-height:1.55}
.hb-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 14px}
.hb-btn{font-family:system-ui,-apple-system,sans-serif;font-weight:700;font-size:17px;background:var(--hb-dark);color:#fff;border:none;border-radius:999px;padding:16px 28px;cursor:pointer;text-decoration:none;display:inline-flex;gap:10px;align-items:center;transition:background .15s,transform .12s,box-shadow .15s;box-shadow:0 10px 26px rgba(44,38,34,.18)}
.hb-btn:hover{background:#43392f;transform:translateY(-2px)}
.hb-btn .p{background:var(--hb-mustard);color:var(--hb-dark);border-radius:999px;padding:3px 10px;font-size:14px}
.hb-btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--ink);box-shadow:none}
.hb-btn.ghost:hover{background:#fff}
.hb-trust{font-family:system-ui,-apple-system,sans-serif;font-size:13.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none}
.hb-trust li::before{content:"✓ ";color:#3f7d4e;font-weight:700}
/* 3D book */
.hb-book{perspective:1400px;display:flex;justify-content:center;padding:10px 0}
.hb-book .b{position:relative;width:min(300px,70vw);aspect-ratio:600/840;transform-style:preserve-3d;transform:rotateY(-22deg) rotateX(4deg);transition:transform .5s cubic-bezier(.2,.8,.2,1);will-change:transform}
.hb-book .b img{width:100%;height:100%;object-fit:cover;border-radius:6px 14px 14px 6px;box-shadow:-18px 30px 60px rgba(44,38,34,.35);display:block}
.hb-book .b::before{content:"";position:absolute;left:-14px;top:6px;bottom:6px;width:14px;background:linear-gradient(90deg,#1d1815,#3a312b);border-radius:4px 0 0 4px;transform:rotateY(-90deg);transform-origin:right}
.hb-book .b::after{content:"";position:absolute;inset:0;border-radius:6px 14px 14px 6px;background:linear-gradient(105deg,rgba(255,255,255,.22),rgba(255,255,255,0) 40%);pointer-events:none}
.hb-book .badge{position:absolute;right:-18px;top:-18px;background:var(--hb-terra);color:#fff;font-family:system-ui,sans-serif;font-weight:700;font-size:13px;border-radius:999px;padding:10px 14px;transform:translateZ(40px) rotate(8deg);box-shadow:0 8px 20px rgba(0,0,0,.2)}
/* sections */
.hb-sec{padding:60px 0}
.hb-sec.alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hb-sec h2{font-size:clamp(26px,3.6vw,36px);text-align:center;margin:0 0 10px;line-height:1.15}
.hb-sub{text-align:center;color:var(--muted);max-width:44em;margin:0 auto 34px;font-size:17px}
.hb-reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.hb-reveal.in{opacity:1;transform:none}
/* moments */
.hb-moments{display:grid;gap:14px;grid-template-columns:1fr;align-items:start}
@media(min-width:700px){.hb-moments{grid-template-columns:1fr 1fr}}
.hb-m{display:block;width:100%;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 18px 16px;cursor:pointer;text-align:left;font:inherit;color:var(--ink);transition:transform .15s,box-shadow .2s,border-color .2s;position:relative}
.hb-m:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.07);border-color:var(--accent)}
.hb-m .q{display:flex;gap:12px;align-items:flex-start;font-size:18px;font-weight:700;margin:0}
.hb-m .q span{font-size:26px;line-height:1}
.hb-m .a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}
.hb-m .a>div{overflow:hidden}
.hb-m.open .a{grid-template-rows:1fr}
.hb-m .a p{margin:12px 0 0;font-size:15.5px;line-height:1.55;color:#4a413a;border-top:1px dashed var(--line);padding-top:12px}
.hb-m .a b{color:var(--accent-dk)}
.hb-m .hint{position:absolute;right:16px;top:18px;font-family:system-ui,sans-serif;font-size:12px;color:var(--muted)}
.hb-m.open .hint{opacity:0}
/* flip-through */
.hb-flip{position:relative;max-width:820px;margin:0 auto}
.hb-pages{position:relative;overflow:hidden;border-radius:22px;border:1px solid var(--line);background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.08)}
.hb-pg{display:none;padding:28px 26px 30px;animation:hbIn .35s ease}
.hb-pg.on{display:block}
@keyframes hbIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.hb-pg .ch{font-family:system-ui,-apple-system,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dk);font-weight:700;margin:0 0 6px}
.hb-pg h3{font-size:24px;margin:0 0 10px}
.hb-pg p{font-size:16px;line-height:1.55;margin:0 0 12px}
.hb-pg .grid2{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:620px){.hb-pg .grid2{grid-template-columns:1fr 1fr}}
.hb-pg .cell{border-radius:14px;padding:12px 14px;font-size:15px;line-height:1.5}
.hb-pg .cell b{display:block;font-family:system-ui,sans-serif;font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
.hb-pg .ok{background:#eef4ea;border:1px solid #cfe0c9}.hb-pg .ok b{color:#3f7d4e}
.hb-pg .no{background:#fdeeea;border:1px solid #f1cfc4}.hb-pg .no b{color:#b4432a}
.hb-pg .tip{background:#fdf3dc;border-left:3px solid var(--hb-mustard);border-radius:0 12px 12px 0;padding:10px 14px;font-size:15px}
.hb-pg table{width:100%;border-collapse:collapse;font-size:15px}
.hb-pg th,.hb-pg td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.hb-pg th{font-family:system-ui,sans-serif;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.hb-pg .chk{list-style:none;padding:0;margin:0;display:grid;gap:8px;grid-template-columns:1fr}
@media(min-width:620px){.hb-pg .chk{grid-template-columns:1fr 1fr}}
.hb-pg .chk li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45}
.hb-pg .chk li::before{content:"";flex:0 0 18px;width:18px;height:18px;border:2px solid var(--accent);border-radius:5px;margin-top:2px}
.hb-pg .pn{font-family:system-ui,sans-serif;font-size:12px;color:var(--muted);text-align:right;margin-top:14px}
.hb-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px;font-family:system-ui,-apple-system,sans-serif}
.hb-nav button{background:#fff;border:2px solid var(--line);border-radius:999px;width:44px;height:44px;font-size:20px;cursor:pointer;color:var(--ink);transition:border-color .2s,transform .12s}
.hb-nav button:hover{border-color:var(--accent);transform:translateY(-1px)}
.hb-dots{display:flex;gap:8px}.hb-dots i{width:9px;height:9px;border-radius:50%;background:var(--line);cursor:pointer;transition:background .2s,transform .2s}.hb-dots i.on{background:var(--ink);transform:scale(1.3)}
.hb-note{font-family:system-ui,sans-serif;font-size:13px;color:var(--muted);text-align:center;margin:12px 0 0}
/* stress ladder */
.hb-ladder{max-width:820px;margin:0 auto;display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:760px){.hb-ladder{grid-template-columns:.9fr 1.1fr;align-items:center}}
.hb-rungs{display:grid;gap:8px}
.hb-rung{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--line);border-radius:14px;padding:10px 14px;font-family:system-ui,-apple-system,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s,transform .15s;color:var(--muted)}
.hb-rung i{width:12px;height:12px;border-radius:50%;background:var(--line);flex:0 0 12px;transition:background .2s}
.hb-rung.lit{color:var(--ink);border-color:var(--rc);background:var(--rb)}.hb-rung.lit i{background:var(--rc)}
.hb-rung.cur{transform:translateX(6px)}
.hb-lread{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px 22px;min-height:200px}
.hb-lread .k{font-family:system-ui,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;margin:0 0 6px}
.hb-lread h3{font-size:22px;margin:0 0 8px}.hb-lread p{margin:0 0 10px;font-size:15.5px;line-height:1.55}
.hb-lread .v{border-radius:12px;padding:10px 12px;font-size:15px;border:1px solid}
.hb-lslider{margin:14px 0 0;font-family:system-ui,sans-serif;font-size:13px;color:var(--muted)}
.hb-lslider input{width:100%;accent-color:var(--hb-terra);cursor:pointer}
/* chapters */
.hb-ch{max-width:820px;margin:0 auto;display:grid;gap:8px}
.hb-ch details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 16px}
.hb-ch summary{cursor:pointer;list-style:none;display:flex;gap:14px;align-items:center;padding:14px 0;font-weight:700;font-size:17px}
.hb-ch summary::-webkit-details-marker{display:none}
.hb-ch summary .n{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--panel);display:inline-flex;align-items:center;justify-content:center;font-family:system-ui,sans-serif;font-size:13px;color:var(--accent-dk)}
.hb-ch summary::after{content:"+";margin-left:auto;font-family:system-ui,sans-serif;font-weight:400;font-size:22px;color:var(--accent-dk);transition:transform .25s}
.hb-ch details[open] summary::after{transform:rotate(45deg)}
.hb-ch p{margin:0 0 14px 46px;font-size:15.5px;line-height:1.55;color:#4a413a}
/* for / not for */
.hb-for{display:grid;gap:14px;grid-template-columns:1fr;max-width:900px;margin:0 auto}
@media(min-width:700px){.hb-for{grid-template-columns:1fr 1fr}}
.hb-for div{border-radius:20px;padding:20px 22px}
.hb-for .y{background:#eef4ea;border:1px solid #cfe0c9}.hb-for .n{background:#fdf3dc;border:1px solid #efd9a2}
.hb-for h3{margin:0 0 10px;font-size:20px}.hb-for ul{margin:0;padding-left:20px;font-size:15.5px;line-height:1.6}
/* humans */
.hb-us{display:grid;gap:26px;grid-template-columns:1fr;align-items:center;max-width:960px;margin:0 auto}
@media(min-width:760px){.hb-us{grid-template-columns:.9fr 1.1fr}}
.hb-us img{width:100%;height:auto;border-radius:22px;display:block;box-shadow:0 18px 50px rgba(0,0,0,.12);transform:rotate(-2deg)}
.hb-us p{font-size:17px;line-height:1.6;margin:0 0 14px}
.hb-us .sig{font-family:system-ui,sans-serif;font-size:13.5px;color:var(--muted)}
/* compare */
.hb-cmp{max-width:900px;margin:0 auto;overflow-x:auto}
.hb-cmp table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.hb-cmp th,.hb-cmp td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.hb-cmp th{font-family:system-ui,sans-serif;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--panel)}
.hb-cmp th.hl,.hb-cmp td.hl{background:#fdf3dc}
.hb-cmp tr:last-child td{border-bottom:none}
.hb-cmp a{font-weight:700}
/* faq */
.hb-faq{max-width:820px;margin:0 auto}
.hb-faq details{border:1px solid var(--line);border-radius:14px;background:#fff;margin:0 0 10px;padding:0 16px}
.hb-faq summary{cursor:pointer;font-weight:700;font-size:17px;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.hb-faq summary::-webkit-details-marker{display:none}
.hb-faq summary::after{content:"+";font-family:system-ui,sans-serif;font-weight:400;font-size:22px;color:var(--accent-dk);transition:transform .25s}
.hb-faq details[open] summary::after{transform:rotate(45deg)}
.hb-faq p{margin:0 0 14px;font-size:15.5px;line-height:1.55}
/* final */
.hb-final{background:linear-gradient(120deg,var(--hb-terra),#e8935b 55%,var(--hb-mustard));color:#fff;border-radius:30px;padding:44px 28px;text-align:center;max-width:900px;margin:0 auto;position:relative;overflow:hidden}
.hb-final h2{color:#fff;margin:0 0 10px}.hb-final p{color:rgba(255,255,255,.92);font-size:17px;margin:0 auto 22px;max-width:46ch}
.hb-final .hb-btn{background:#fff;color:var(--ink);box-shadow:0 10px 26px rgba(0,0,0,.15)}
.hb-final .hb-btn:hover{background:#fff7e6}
.hb-final .paw{position:absolute;font-size:120px;opacity:.12;right:-10px;bottom:-30px;transform:rotate(-20deg);pointer-events:none}
/* sticky bar */
.hb-bar{position:fixed;left:0;right:0;bottom:0;z-index:55;background:rgba(44,38,34,.96);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;transform:translateY(110%);transition:transform .35s ease;font-family:system-ui,-apple-system,sans-serif;backdrop-filter:blur(6px)}
.hb-bar.show{transform:none}
.hb-bar .t{font-size:14px;line-height:1.3}.hb-bar .t b{display:block;font-size:15px}
.hb-bar .hb-btn{background:var(--hb-mustard);color:var(--hb-dark);padding:11px 18px;font-size:15px;box-shadow:none;white-space:nowrap}
body.hb-bar-on{padding-bottom:70px}
@media(prefers-reduced-motion:reduce){.hb-reveal{opacity:1;transform:none;transition:none}.hb-book .b{transition:none}.hb-pg{animation:none}.hb-bar{transition:none}}

.hb-final .hb-follow{margin:18px auto 0;font-size:14px;color:rgba(255,255,255,.85)}.hb-final .hb-follow a{color:#fff;text-decoration:underline}


/* numbers strip */
.hb-nums{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}
.hb-nums ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 18px;max-width:1040px;margin:0 auto}
.hb-nums li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}
.hb-nums b{font-family:Georgia,'Times New Roman',serif;font-size:30px;line-height:1;color:var(--hb-terra)}
.hb-nums span{font-size:13.5px;color:var(--muted);max-width:18ch}
@media(min-width:760px){.hb-nums ul{grid-template-columns:repeat(5,1fr)}}
/* problem → solution cards */
.hb-probs{display:grid;gap:18px;grid-template-columns:1fr;max-width:1040px;margin:0 auto}
@media(min-width:860px){.hb-probs{grid-template-columns:1fr 1fr}}
.hb-prob{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.hb-prob .pr{padding:22px 22px 18px}
.hb-prob .ic{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fdf3dc;font-size:26px;margin-bottom:12px}
.hb-prob h3{margin:0 0 10px;font-size:21px;line-height:1.2}
.hb-prob ul{list-style:none;margin:0;padding:0;font-size:15.5px;line-height:1.55}
.hb-prob .pr li{position:relative;padding-left:26px;margin:7px 0}
.hb-prob .pr li::before{content:"🐾";position:absolute;left:0;top:1px;font-size:13px;opacity:.75}
.hb-prob .so{background:#eef4ea;border-top:1px solid #cfe0c9;padding:18px 22px 20px;margin-top:auto}
.hb-prob .so .k{margin:0 0 8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#3f7d4e}
.hb-prob .so li{position:relative;padding-left:24px;margin:7px 0}
.hb-prob .so li::before{content:"✓";position:absolute;left:0;top:0;color:#3f7d4e;font-weight:700}
.hb-prob .so .r{margin:12px 0 0;font-size:15px;font-weight:600;color:var(--ink)}
.hb-probs-cta{text-align:center;margin:30px 0 0}
/* timeline */
.hb-tl{list-style:none;margin:0 auto;padding:0;max-width:820px;position:relative}
.hb-tl::before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:2px;background:var(--line)}
.hb-tl li{position:relative;display:grid;grid-template-columns:1fr;gap:4px 18px;padding:0 0 26px 40px}
.hb-tl li::before{content:"";position:absolute;left:4px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--hb-terra);box-shadow:0 0 0 4px var(--cream)}
.hb-sec.alt .hb-tl li::before{box-shadow:0 0 0 4px var(--card)}
.hb-tl li:last-child{padding-bottom:0}
.hb-tl .w{font-weight:700;color:var(--hb-terra);font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.hb-tl div{font-size:16.5px;line-height:1.6}
@media(min-width:700px){.hb-tl li{grid-template-columns:150px 1fr;align-items:start}.hb-tl .w{padding-top:2px}}
/* no time + guarantee */
.hb-twin{display:grid;gap:16px;grid-template-columns:1fr;max-width:1000px;margin:0 auto}
@media(min-width:760px){.hb-twin{grid-template-columns:1fr 1fr}}
.hb-twin>div{border-radius:22px;padding:26px 26px 22px;border:1px solid var(--line);background:#fff}
.hb-twin .t2{background:#fdf3dc;border-color:#efd9a2}
.hb-twin .ic{font-size:30px;display:block;margin-bottom:8px}
.hb-twin h3{margin:0 0 10px;font-size:23px}
.hb-twin p{margin:0 0 12px;font-size:16px;line-height:1.6}
.hb-twin p:last-child{margin:0}
.hb-twin .hb-btn{margin-top:6px}


/* live demo of the final test */
.hb-demo{max-width:620px;margin:0 auto}
.hb-demo .q,.hb-demo .end{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px 24px 24px;text-align:center;box-shadow:0 14px 36px rgba(0,0,0,.06)}
.hb-demo .n{margin:0 0 6px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.hb-demo .ic{font-size:56px;line-height:1;margin:6px 0 10px}
.hb-demo .sig{font-size:21px;line-height:1.35;font-weight:700;margin:0 auto 18px;max-width:30ch;min-height:2.7em}
.hb-demo .btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.hb-demo .btns button{font-family:system-ui,-apple-system,sans-serif;font-weight:700;font-size:16px;border-radius:999px;padding:13px 24px;cursor:pointer;border:2px solid transparent;transition:transform .12s,box-shadow .15s}
.hb-demo .btns button:hover{transform:translateY(-1px)}
.hb-demo .btns .r{background:#eef4ea;color:#2f6b3f;border-color:#cfe0c9}
.hb-demo .btns .s{background:#fdeeea;color:#9a3b22;border-color:#f1c9bc}
.hb-demo .btns button[disabled]{opacity:.55;cursor:default;transform:none}
.hb-demo .btns button.pick{border-color:var(--ink)}
.hb-demo .fb{min-height:3.2em;margin:16px auto 0;font-size:16.5px;line-height:1.5;max-width:40ch;font-family:system-ui,-apple-system,sans-serif}
.hb-demo .fb.ok{color:#2f6b3f}.hb-demo .fb.no{color:#9a3b22}
.hb-demo .next,.hb-demo .again{margin-top:10px;background:var(--hb-dark);color:#fff;border:none;border-radius:999px;padding:12px 22px;font-family:system-ui,-apple-system,sans-serif;font-weight:700;font-size:15px;cursor:pointer}
.hb-demo .again{background:transparent;color:var(--ink);border:2px solid var(--line);margin-left:8px}
.hb-demo .end .score{font-family:Georgia,'Times New Roman',serif;font-size:22px;margin:0 0 6px}
.hb-demo .end .score b{font-size:46px;color:var(--hb-terra)}
.hb-demo .end .msg{font-size:18px;font-weight:700;margin:0 0 10px}
.hb-demo .end .rest{color:var(--muted);font-size:15.5px;line-height:1.55;max-width:46ch;margin:0 auto 18px}
/* proof strip (used when real quotes exist) */
.hb-proof{display:grid;gap:16px;grid-template-columns:1fr;max-width:1000px;margin:0 auto}
@media(min-width:760px){.hb-proof{grid-template-columns:repeat(3,1fr)}}
.hb-proof blockquote{margin:0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 22px 18px;font-size:16px;line-height:1.6}
.hb-proof blockquote p{margin:0 0 10px}
.hb-proof cite{font-style:normal;font-size:14px;color:var(--muted)}
.hb-demo [hidden]{display:none!important}
