/* WBM review hub (standard v2 layout, approved by Cody 2026-09-29). Generated by apps/review-hub/build_hub.py.
   Structure is shared by every project; the brand comes only from the tokens below, which build_hub.py fills
   from review/hub.config.json (brand.colors / brand.fonts). Do not edit per project: change the config. */
.hub2,.hub2 *{box-sizing:border-box}
body.hub-page{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.hub2 .wrap{max-width:1440px;margin:0 auto;padding:0 28px}
.hub2 h1,.hub2 h2,.hub2 h3{font-family:var(--heading);font-weight:400;letter-spacing:-.01em;line-height:1.12;margin:0;color:var(--dark)}
.hub2 h3{font-size:22px;line-height:1.25}
.hub2 a{color:var(--accent-ink)}
.hub2 img{max-width:100%}
.hub-skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:50}
.hub-skip:focus{left:12px}
.hub-foot{background:var(--footer-bg);color:var(--footer-ink);padding:36px 0;font-size:14px}
.hub-foot img{height:44px;width:auto;display:block}
.hub-foot p{margin:14px 0 0}
/* Forgotten Health review hub v2 (preview, 2026-09-28). Brand tokens come from /assets/site.css:
   paper/cream grounds, deep teal, gold actions, Fraunces headings, Figtree text. */
.hub2{--stage-h:640px}
.hub2 .muted{color:var(--muted)}
.hub2 .kicker{font:700 12px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 10px}
.hub2 .wrap.narrow{max-width:860px}
.hub2 h2{font-size:clamp(28px,3vw,38px)}
.hub2 .h2card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 40px -34px rgba(16,38,43,.5)}

/* buttons */
.hub2 .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 15px/1.1 var(--body);border-radius:999px;padding:12px 20px;text-decoration:none;cursor:pointer;border:1.5px solid transparent;white-space:nowrap;transition:background .15s,border-color .15s}
.hub2 .btn.primary{background:var(--cta);color:var(--cta-ink)}
.hub2 .btn.primary:hover{background:var(--cta-2)}
.hub2 .btn.dark{background:var(--dark);color:#fff}
.hub2 .btn.dark:hover{background:var(--dark-2)}
.hub2 .btn.ghost{background:#fff;color:var(--dark);border-color:var(--line)}
.hub2 .btn.ghost:hover{border-color:var(--dark)}
.hub2 .btn.link{background:none;color:var(--accent-ink);padding:12px 6px;text-decoration:underline;text-underline-offset:3px}
.hub2 .btn[disabled]{opacity:.55;cursor:default}
.hub2 .btn:focus-visible,.hub2 .tg button:focus-visible,.hub2 .ck a:focus-visible,.hub2 .opt:focus-visible,.hub2 .qdots button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.hub2 .btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}

/* top bar */
.h2-top{background:#fff;border-bottom:1px solid var(--line)}
.h2-top-in{display:flex;align-items:center;gap:22px;padding-top:14px;padding-bottom:14px;max-width:1440px}
.h2-logo img{height:44px;width:auto;display:block}
.h2-ttl{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.h2-ttl b{font:500 21px/1.2 var(--heading);color:var(--dark)}
.h2-ttl span{font-size:13.5px;color:var(--muted)}
.h2-steps{margin-left:auto}
.h2-steps ol{list-style:none;margin:0;padding:0;display:flex;gap:6px;align-items:center}
.h2-steps li{display:flex;align-items:center}
.h2-steps li+li::before{content:"";width:18px;height:2px;background:var(--line);margin-right:6px;border-radius:2px}
.h2-steps a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);padding:8px 12px 8px 8px;border-radius:14px;border:1px solid transparent}
.h2-steps a:hover{background:var(--bg);border-color:var(--line)}
.h2-steps .n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:700 14px var(--body);background:var(--soft);color:var(--dark);border:1.5px solid var(--line);flex:none}
.h2-steps .l{display:flex;flex-direction:column;line-height:1.2}
.h2-steps b{font:600 14.5px var(--body)}
.h2-steps small{font-size:12.5px;color:var(--muted)}
.h2-steps li.on .n{background:var(--dark);color:#fff;border-color:var(--dark)}
.h2-steps li.done .n{background:var(--cta);border-color:var(--cta);color:var(--cta-ink);font-size:0}
.h2-steps li.done .n::after{content:"\2713";font-size:15px}
.h2-steps li.done small{color:var(--accent-ink);font-weight:600}

/* sections */
.h2-main{display:flex;flex-direction:column}
.h2-sec{padding:34px 0}
.h2-sec+.h2-sec{border-top:1px solid var(--line)}
.h2-sec .wrap{max-width:1440px}
.sec-hd{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:18px}
.sec-help{margin:0;max-width:58ch;font-size:15.5px}
.sec-help .mob{display:none}

/* 1 watch */
.watch-card{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:28px;padding:18px;align-items:start}
.watch-video video{width:100%;aspect-ratio:1280/800;border-radius:14px;background:#000;display:block}
.watch-info h2{margin-bottom:8px}
.watch-info p{margin:0}
.enotes{margin-top:12px!important;font-size:14.5px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.enotes b{color:var(--ink)}
.transcript{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.transcript summary{cursor:pointer;font-weight:600;color:var(--dark)}
.transcript div{max-height:220px;overflow:auto;font-size:15px;color:var(--ink);padding-right:8px}
.transcript div p{margin:.55em 0!important}
.h2-sec.is-done .watch-card{border-color:#E7D9B5}

/* 2 pages: checklist + preview */
.work{display:grid;grid-template-columns:340px minmax(0,1fr);gap:22px;align-items:start}
.ck-wrap{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;position:sticky;top:calc(var(--rk-top,0px) + 12px)}
.ck-head{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--bg)}
.ck-head b{font-size:15px}
.legend{display:flex;gap:6px;flex-wrap:wrap}
.ck{list-style:none;margin:0;padding:6px;max-height:calc(var(--stage-h) + 60px);overflow:auto}
.ck li{margin:0}
.ck a{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border-radius:12px;text-decoration:none;color:var(--ink);border:1.5px solid transparent}
.ck a:hover{background:var(--bg)}
.ck a[aria-current="true"]{background:var(--accent-soft);border-color:var(--accent)}
.ck .num{font:600 12.5px var(--body);color:var(--muted);text-align:center}
.ck .t{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.ck .t b{font:600 15px var(--body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ck .t small{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ck .rk-badge{display:none!important}
.st{font:700 11.5px/1 var(--body);font-style:normal;padding:5px 8px;border-radius:999px;white-space:nowrap;border:1px solid transparent}
.st-todo{background:#fff;color:var(--muted);border-color:var(--line)}
.st-looked{background:var(--accent-soft);color:var(--accent-ink)}
.st-notes{background:#F6EFDD;color:#7A5A12;border-color:#E7D9B5}
.st-new{background:var(--dark);color:#fff}

.pv{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px;min-width:0}
.pv-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.pv-ttl{display:flex;flex-direction:column;min-width:0;flex:1 1 220px}
.pv-ttl small{font-size:12.5px;color:var(--muted)}
.pv-ttl b{font:500 21px/1.2 var(--heading);color:var(--dark)}
.tg{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}
.tg button{font:600 14px var(--body);border:0;background:none;color:var(--ink);padding:9px 14px;border-radius:999px;cursor:pointer;white-space:nowrap}
.tg button[aria-pressed="true"]{background:var(--dark);color:#fff}
.tg.sm button{padding:6px 11px;font-size:13px}
.pv-stage{background:var(--soft);border-radius:14px;height:var(--stage-h);overflow:hidden;position:relative}
.pv-stage [hidden]{display:none!important}
.st-desk{position:absolute;inset:0;overflow:hidden}
.st-desk iframe{position:absolute;left:0;top:0;width:1280px;border:0;background:#fff;transform-origin:0 0}
.st-mob{height:100%;display:flex;justify-content:center;align-items:center;padding:14px}
.phone{background:var(--ink);border-radius:40px;padding:12px;box-shadow:0 24px 50px -30px rgba(16,38,43,.8);height:100%;max-height:100%;display:flex}
.phone iframe{width:375px;height:100%;border:0;border-radius:28px;background:#fff;display:block}
.st-cmp{height:100%;display:flex;flex-direction:column}
.cmp-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;flex-wrap:wrap}
.cmp-bar .muted{font-size:13px}
.cmp-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 12px 12px;flex:1;min-height:0}
.cmp-col{margin:0;display:flex;flex-direction:column;min-height:0;background:#fff;border-radius:10px;border:1px solid var(--line);overflow:hidden}
.cmp-col figcaption{padding:8px 12px;font-size:13px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.cmp-col figcaption b{font-size:13.5px}
.cmp-col figcaption a{color:var(--accent-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.cmp-col .sc{overflow:auto;flex:1;min-height:0;text-align:center;background:#F3F1EB}
.cmp-col .sc img{width:100%;height:auto;display:block}
.cmp-col .sc.w375 img{width:min(100%,300px);margin:0 auto}
.cmp-col .none{flex:1;display:grid;place-items:center;text-align:center;padding:24px;color:var(--muted);background:repeating-linear-gradient(135deg,#FBF9F4 0 12px,#F4F0E6 12px 24px)}
.cmp-col .none b{display:block;color:var(--dark);font:500 20px/1.3 var(--heading);margin-bottom:6px}
.pv-act{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.pv-act .sp{flex:1}

/* 3 questions */
.qcard{padding:26px 28px}
.qhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.qhead small{font:700 12.5px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.qhead .ok{font:700 12.5px var(--body);color:var(--accent-ink)}
.qcard h3{font-size:26px;color:var(--dark);margin-bottom:8px}
.qcard .qt{margin:0 0 16px;font-size:16.5px}
.opts{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.opt{display:flex;align-items:center;gap:12px;text-align:left;font:600 15.5px/1.3 var(--body);background:var(--bg);border:1.5px solid var(--line);border-radius:14px;padding:13px 16px;cursor:pointer;color:var(--ink)}
.opt::before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid #B9C3C2;flex:none;background:#fff}
.opt:hover{border-color:var(--accent)}
.opt[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft)}
.opt[aria-pressed="true"]::before{border-color:var(--accent);background:radial-gradient(circle,var(--accent) 0 45%,#fff 50%)}
.qcard label{display:block;font:600 14px var(--body);margin:4px 0 6px}
.qcard textarea,.send-card input{width:100%;box-sizing:border-box;font:400 16px/1.45 var(--body);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;color:var(--ink)}
.qcard textarea{min-height:92px;resize:vertical}
.qcard textarea:focus,.send-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.qnav{display:flex;gap:10px;align-items:center;margin-top:16px}
.qnav .sp{flex:1}
.qdots{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.qdots button{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);background:#fff;font:600 12px var(--body);color:var(--muted);cursor:pointer;padding:0}
.qdots button.ans{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}
.qdots button[aria-current="true"]{background:var(--dark);border-color:var(--dark);color:#fff}

/* 4 send */
.send-card{padding:26px 28px}
.send-card .fld{display:block;font:600 14.5px var(--body);margin:16px 0 6px}
.send-card .fld em{font-style:normal;color:var(--muted);font-weight:500}
.send-card input{max-width:380px}
.send-card input[aria-invalid="true"]{border-color:#B3261E}
.send-msg{min-height:1.4em;margin:12px 0 0;font-weight:600}
.send-msg.err{color:#B3261E}
.send-msg.ok{color:var(--accent-ink)}
.send-notes{margin-top:18px;border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.send-notes p{margin:0;font-size:15.5px}

/* details */
.dt{background:#fff;border:1px solid var(--line);border-radius:16px;margin:0 0 10px;overflow:hidden}
.dt>summary{cursor:pointer;list-style:none;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;font:500 19px/1.3 var(--heading);color:var(--dark)}
.dt>summary::-webkit-details-marker{display:none}
.dt>summary i{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;flex:none;font-style:normal}
.dt>summary i::before{content:"+";font:600 20px/1 var(--body);color:var(--dark)}
.dt[open]>summary i::before{content:"\2212"}
.dt-body{padding:0 20px 20px}
.dt-body .versions,.dt-body .two,.dt-body .steps-rh{margin-top:6px}
.dt-body>p:first-child{margin-top:0}

/* kit hub card is replaced by the steps on this page */
#rk-hubcta{display:none!important}

@media (max-width:1180px){
  .h2-top-in{flex-wrap:wrap}
  .h2-steps{margin-left:0;width:100%}
  .h2-steps ol{flex-wrap:wrap}
  .work{grid-template-columns:300px minmax(0,1fr)}
}
@media (max-width:899px){
  .hub2 .wrap{padding:0 16px}
  .h2-logo img{height:36px}
  .h2-ttl b{font-size:18px}
  /* progress card */
  .h2-steps{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:6px}
  .h2-steps ol{flex-direction:column;align-items:stretch;gap:0}
  .h2-steps li+li::before{display:none}
  .h2-steps li+li{border-top:1px solid var(--line)}
  .h2-steps a{flex:1;padding:10px}
  .h2-steps .l{flex-direction:row;justify-content:space-between;flex:1;align-items:center;gap:8px}
  .h2-sec{padding:26px 0}
  /* phone order: progress, checklist, questions, send, video, details */
  .hub2 #pages{order:1}.hub2 #questions{order:2}.hub2 #send{order:3}.hub2 #watch{order:4}.hub2 #details{order:5}
  .h2-sec+.h2-sec{border-top:0}
  .h2-main>.h2-sec:not(:first-child){border-top:1px solid var(--line)}
  .sec-help .dsk{display:none}.sec-help .mob{display:inline}
  .work{grid-template-columns:1fr}
  .ck-wrap{position:static}
  .ck{max-height:none}
  .pv{display:none}
  .watch-card{grid-template-columns:1fr;padding:14px;gap:16px}
  .qcard,.send-card{padding:20px 18px}
  .qcard h3{font-size:23px}
  .send-card input{max-width:none}
  .hub2 .btns .btn{flex:1 1 auto}
  .send-notes .btn{width:100%}
}


/* Step 1 card: video + two buttons only */
.hub2 .watch-card{align-items:center}
.hub2 .autosave{margin:10px 0 0;font-size:13.5px;color:var(--muted)}

/* optional detail sections (config "details") */
.dt-body ul,.dt-body ol{padding-left:1.2em;margin:.4em 0}
.dt-body li{margin:.35em 0}
.d-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:8px}
.d-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.d-card img{width:100%;height:200px;object-fit:cover;object-position:top;border-bottom:1px solid var(--line)}
.d-card div{padding:14px 16px}
.d-card h4{margin:0 0 6px;font:500 19px/1.3 var(--heading);color:var(--dark)}
.d-card p{margin:0;color:var(--muted);font-size:15px}
.d-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.d-col{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-size:15.5px}
.d-col h4{margin:0 0 8px;font:600 16px var(--body)}
.d-steps{counter-reset:s;list-style:none;padding:0!important;display:grid;gap:10px}
.d-steps li{counter-increment:s;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.d-steps li::before{content:counter(s);width:28px;height:28px;border-radius:50%;background:var(--cta);color:var(--cta-ink);font:700 14px/28px var(--body);text-align:center}
.d-steps li.done{opacity:.7}.d-steps li.done::before{content:"\2713"}
.d-group{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:0 0 10px;overflow:hidden}
.d-group summary{cursor:pointer;padding:14px 18px;display:flex;justify-content:space-between;gap:12px;list-style:none;font-weight:600}
.d-group summary::-webkit-details-marker{display:none}
.d-group summary span{color:var(--muted);font-weight:400;font-size:15px}
.d-group ul{list-style:none;margin:0;padding:0 18px 10px!important;max-height:520px;overflow:auto}
.d-group li{display:flex;justify-content:space-between;gap:14px;align-items:center;border-top:1px solid var(--line);padding:9px 0;font-size:15px;margin:0}
.d-group li small{color:var(--muted);display:block;font-size:13px}
.d-group .pa{display:flex;gap:8px;flex:none}
.d-group .pa a,.d-group .pa button{font:600 13.5px var(--body);border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:6px 12px;color:var(--ink);text-decoration:none;cursor:pointer}
.d-list{list-style:none;padding:0!important;display:grid;gap:8px}
.d-list li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.d-list small{color:var(--muted)}
.d-offer{display:grid;grid-template-columns:minmax(0,220px) 1fr;gap:20px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px}
.d-offer .price{font:500 28px var(--heading);color:var(--dark)}
.d-video{display:grid;grid-template-columns:minmax(0,480px) 1fr;gap:20px;align-items:start;margin:0 0 18px}
.d-video video{width:100%;border-radius:12px;background:#000}
.d-score{width:100%;border-collapse:collapse;font-size:15px}
.d-score th,.d-score td{text-align:left;border-bottom:1px solid var(--line);padding:8px 6px}
.d-score td.n{font-variant-numeric:tabular-nums;white-space:nowrap}
.logo-choice{margin-top:18px;padding:18px 20px}
.logo-choice h3{font-size:22px;margin-bottom:6px}
.logo-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:12px}
.logo-opt{display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--bg);border:1.5px solid var(--line);border-radius:14px;padding:14px;cursor:pointer;font:600 15px var(--body);color:var(--ink)}
.logo-opt img{max-height:90px;width:auto;object-fit:contain}
.logo-opt[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft)}
@media (max-width:899px){.hub2 .wrap{padding:0 16px}.d-offer,.d-video{grid-template-columns:1fr}.d-group li{flex-direction:column;align-items:flex-start}}
