/*
 * Cardiac Booking Tool — scoped stylesheet
 * All selectors are prefixed with #cbt-wrap so this never bleeds
 * into theme, Elementor, Divi, or WooCommerce styles on the same page.
 * Font is loaded separately via wp_enqueue_style (Google Fonts) in the main plugin file.
 */
#cbt-wrap{
    --bg:#FFFFFF; --ink:#222222; --ink-2:#574f4f; --ink-3:#8a8181;
    --red:#FF3333; --red-dk:#D81E1E; --red-12:#FFEDED; --red-04:#FFF7F7;
    --line:#efe4e4; --line-2:#E6E6E5; --surf:#fcf7f7;
    --green:#127a59; --green-bg:#e7f4ee; --green-line:#c6e6d7;
    --amber:#b06d10; --amber-bg:#fbf0db; --amber-line:#f0dab2;
    --info:#1f5c8a; --info-bg:#e8f0f6;
    --r:0px; --r-pill:999px;
    --shadow:none;
  }
#cbt-wrap *{box-sizing:border-box; margin:0; padding:0}
#cbt-wrap{
    font-family:'Poppins',system-ui,sans-serif; color:var(--ink);
    line-height:1.55; -webkit-font-smoothing:antialiased; min-height:100vh;
  }
#cbt-wrap .shell{max-width:760px; margin:0 auto; padding:0 clamp(16px,4vw,28px)}
#cbt-wrap .topbar{display:flex; align-items:center; gap:12px; padding:18px 0 14px}
#cbt-wrap .topbar img{height:34px; width:auto}
#cbt-wrap .topbar .save{margin-left:auto; font-size:12.5px; color:var(--ink-3); display:flex; align-items:center; gap:6px}
#cbt-wrap .topbar .save b{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block}
#cbt-wrap .progress{height:5px; background:var(--line); border-radius:var(--r-pill); overflow:hidden; margin-bottom:6px}
#cbt-wrap .progress > i{display:block; height:100%; width:0; background:linear-gradient(90deg,var(--red),var(--red-dk)); border-radius:inherit; transition:width .5s cubic-bezier(.2,.8,.2,1)}
#cbt-wrap .steplabel{font-size:11.5px; letter-spacing:.04em; color:var(--ink-3); text-transform:uppercase; margin-bottom:26px}
#cbt-wrap .card{background:#fff; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow); padding:clamp(22px,4vw,34px); margin-bottom:18px}
#cbt-wrap .stage-in{animation:cbt-rise .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes cbt-rise{from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none}}
#cbt-wrap h1.q{font-size:clamp(21px,3.4vw,23px); font-weight:600; letter-spacing:-.02em; line-height:1.25}
#cbt-wrap .eyebrow{font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--red-dk); margin-bottom:10px}
#cbt-wrap .lede{font-size:15.5px; color:var(--ink-2); margin-top:10px; max-width:56ch}
#cbt-wrap .hint{font-size:13.5px; color:var(--ink-3); margin-top:6px}
#cbt-wrap .opts{display:flex; flex-direction:column; gap:10px; margin-top:22px}
#cbt-wrap .opt{display:flex; align-items:center; gap:13px; width:100%; text-align:left; background:#fff; border: none; padding:10px 0px; font-family:inherit; font-size:15.5px; color:var(--ink); cursor:pointer; transition:border-color .15s, background .15s, transform .08s}
#cbt-wrap .opt:hover{border-color:#d9b6b6}
#cbt-wrap .opt:active{transform:scale(.992)}
#cbt-wrap .opt .mark{width:22px; height:22px; border-radius:50%; border:2px solid var(--line-2); flex-shrink:0; display:grid; place-items:center; transition:border-color .15s, background .15s}
#cbt-wrap .opt .mark.sq{border-radius:7px}
#cbt-wrap .opt.sel{border-color:var(--red); background:var(--red-04)}
#cbt-wrap .opt.sel .mark{border-color:var(--red); background:var(--red)}
#cbt-wrap .opt.sel .mark::after{content:''; width:8px; height:8px; border-radius:50%; background:#fff}
#cbt-wrap .opt.sel .mark.sq::after{content:'✓'; color:#fff; font-size:13px; line-height:1; background:none; width:auto; height:auto}
#cbt-wrap .opt .sub{display:block; font-size:13px; color:var(--ink-3); margin-top:2px; line-height:1.4}
#cbt-wrap .sym{border:1px solid var(--line); border-radius:13px; padding:15px 16px; margin-bottom:11px; transition:border-color .15s, box-shadow .15s}
#cbt-wrap .sym.touched{border-color:var(--line-2)}
#cbt-wrap .sym .row{display:flex; align-items:flex-start; gap:13px}
#cbt-wrap .sym .ico{width:42px; height:42px; border-radius:11px; background:var(--red-12); color:var(--red-dk); display:grid; place-items:center; flex-shrink:0}
#cbt-wrap .sym .ico svg{width:22px; height:22px}
#cbt-wrap .sym .body{flex:1; min-width:0}
#cbt-wrap .sym .qtext{font-size:15.5px; font-weight:500; line-height:1.4}
#cbt-wrap .sym .whatlink{margin-top:3px; background:none; border:none; padding:0; font-family:inherit; font-size:13px; color:var(--red-dk); cursor:pointer}
#cbt-wrap .sym .what{font-size:13.5px; color:var(--ink-2); background:var(--surf); border-radius:9px; padding:11px 13px; margin-top:10px; line-height:1.5}
#cbt-wrap .yn{display:flex; gap:7px; flex-shrink:0}
#cbt-wrap .yn button{padding:8px 17px; border:1.5px solid var(--line-2); background:#fff; color:var(--ink-2); border-radius:var(--r-pill); font-family:inherit; font-size:14px; font-weight:500; cursor:pointer; transition:all .13s}
#cbt-wrap .yn button.no.on{background:var(--ink); border-color:var(--ink); color:#fff}
#cbt-wrap .yn button.yes.on{background:var(--red); border-color:var(--red); color:#fff}
#cbt-wrap .field{margin-top:20px}
#cbt-wrap .field > label{display:block; font-size:15px; font-weight:500; margin-bottom:9px}
#cbt-wrap .field .sublabel{font-weight:400; color:var(--ink-3); font-size:13px}
#cbt-wrap input[type=number], #cbt-wrap input[type=text], #cbt-wrap input[type=tel], #cbt-wrap select{
    width:100%; font-family:inherit; font-size:15.5px; color:var(--ink);
    padding:13px 14px; border:1.5px solid var(--line-2); border-radius:50px; background:#FDFDFC; transition:border-color .15s}
#cbt-wrap input:focus, #cbt-wrap select:focus{outline:none; border-color:var(--red); box-shadow:0 0 0 4px var(--red-12)}
#cbt-wrap .inline{display:flex; gap:10px; align-items:stretch}
#cbt-wrap .inline > *{flex:1}
#cbt-wrap .unit{display:flex; border:1.5px solid var(--line-2); border-radius:50px; overflow:hidden; flex:0 0 auto}
#cbt-wrap .unit button{padding:0 15px; background:#fff; border:none; font-family:inherit; font-size:13.5px; font-weight:500; color:var(--ink-3); cursor:pointer; transition:all .13s}
#cbt-wrap .unit button.on{background:var(--ink); color:#fff}
#cbt-wrap .sectionhdr{font-size:13px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--red-dk); margin:30px 0 4px; padding-top:22px; border-top:1px solid var(--line)}
#cbt-wrap .sectionhdr:first-of-type{border-top:none; padding-top:0; margin-top:8px}
#cbt-wrap .reveal{overflow:hidden; display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s cubic-bezier(.2,.8,.2,1)}
#cbt-wrap .reveal.open{grid-template-rows:1fr}
#cbt-wrap .reveal > div{min-height:0}
#cbt-wrap .nav{display:flex; gap:12px; align-items:center; margin-top:8px}
#cbt-wrap .btn{font-family:inherit; font-weight:600; font-size:15.5px; border-radius:50px; padding:14px 24px; cursor:pointer; border:1.5px solid transparent; transition:transform .08s, background .15s, border-color .15s}
#cbt-wrap .btn:active{transform:scale(.985)}
#cbt-wrap .btn.primary{background:var(--red); color:#fff; flex:1}
#cbt-wrap .btn.primary:hover{background:var(--red-dk)}
#cbt-wrap .btn.primary:disabled{background:#f3d6d6; color:#fff; cursor:not-allowed}
#cbt-wrap .btn.ghost{background:#fff; color:var(--ink-2); border-color:var(--line-2)}
#cbt-wrap .btn.ghost:hover{border-color:#d9b6b6}
#cbt-wrap .navnote{font-size:12.5px; color:var(--ink-3); text-align:center; margin-top:13px}
#cbt-wrap .agree{display:flex; gap:13px; align-items:flex-start; background:var(--surf); border:1px solid var(--line); border-radius:12px; padding:16px; margin-top:22px; cursor:pointer}
#cbt-wrap .agree .box{width:24px;height:24px;border-radius:7px;border:2px solid var(--line-2);flex-shrink:0;display:grid;place-items:center;transition:all .15s}
#cbt-wrap .agree.on .box{background:var(--red); border-color:var(--red)}
#cbt-wrap .agree.on .box::after{content:'✓';color:#fff;font-size:14px;font-weight:600}
#cbt-wrap .agree span{font-size:14.5px; color:var(--ink); line-height:1.5}
#cbt-wrap .emerg{border:1.5px solid var(--red); background:var(--red-04); border-radius:var(--r); padding:clamp(22px,4vw,32px)}
#cbt-wrap .emerg .tag{display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--red-dk); background:var(--red-12); padding:6px 12px; border-radius:var(--r-pill)}
#cbt-wrap .emerg h1{font-size:clamp(23px,4vw,30px); font-weight:700; margin:14px 0 10px; color:var(--red-dk); line-height:1.2}
#cbt-wrap .emerg p{font-size:16px; color:var(--ink); max-width:52ch}
#cbt-wrap .emerg .call{display:inline-flex; align-items:center; gap:10px; background:var(--red); color:#fff; font-weight:700; font-size:19px; text-decoration:none; padding:15px 28px; border-radius:12px; margin-top:20px}
#cbt-wrap .emerg .continue{margin-top:18px; padding-top:16px; border-top:1px solid var(--line-2)}
#cbt-wrap .emerg .continue button{background:none; border:none; font-family:inherit; font-size:13.5px; color:var(--ink-3); text-decoration:underline; cursor:pointer; padding:0}
#cbt-wrap .verdict{display:flex; align-items:center; gap:16px; padding:18px 20px; border-radius:13px; margin-bottom:8px}
#cbt-wrap .verdict .dot{width:13px; height:13px; border-radius:50%; flex-shrink:0}
#cbt-wrap .verdict .lab{font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; opacity:.85}
#cbt-wrap .verdict .val{font-size:17px; font-weight:600; margin-top:1px}
#cbt-wrap .verdict.green{background:var(--green-bg)}
#cbt-wrap .verdict.green .dot{background:var(--green)}
#cbt-wrap .verdict.green .val, #cbt-wrap .verdict.green .lab{color:var(--green)}
#cbt-wrap .verdict.amber{background:var(--amber-bg)}
#cbt-wrap .verdict.amber .dot{background:var(--amber)}
#cbt-wrap .verdict.amber .val, #cbt-wrap .verdict.amber .lab{color:var(--amber)}
#cbt-wrap .verdict.red{background:var(--red-12)}
#cbt-wrap .verdict.red .dot{background:var(--red)}
#cbt-wrap .verdict.red .val, #cbt-wrap .verdict.red .lab{color:var(--red-dk)}
#cbt-wrap .resblock{margin-top:24px}
#cbt-wrap .resblock h3{font-size:13px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-3); margin-bottom:10px}
#cbt-wrap .resblock p{font-size:15.5px; color:var(--ink-2); line-height:1.6}
#cbt-wrap .finding{display:flex; align-items:center; gap:11px; padding:11px 0; border-bottom:1px solid var(--line)}
#cbt-wrap .finding:last-child{border-bottom:none}
#cbt-wrap .chip{font-size:11px; font-weight:600; padding:3px 10px; border-radius:var(--r-pill); flex-shrink:0}
#cbt-wrap .chip.green{background:var(--green-bg); color:var(--green)}
#cbt-wrap .chip.amber{background:var(--amber-bg); color:var(--amber)}
#cbt-wrap .chip.red{background:var(--red-12); color:var(--red-dk)}
#cbt-wrap .finding .name{font-size:15px; font-weight:500}
#cbt-wrap .finding .meta{font-size:13px; color:var(--ink-3); margin-left:auto; text-align:right}
#cbt-wrap .tests{background:var(--surf); border:1px solid var(--line); border-radius:12px; padding:16px 18px; margin-top:4px}
#cbt-wrap .tests ul{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:7px 20px}
@media(max-width:540px){
#cbt-wrap .tests ul{grid-template-columns:1fr}
}
#cbt-wrap .tests li{font-size:14px; display:flex; align-items:center; gap:9px}
#cbt-wrap .tests li .t{color:var(--red); font-weight:700}
#cbt-wrap .tests li .sh{font-size:10px; font-weight:600; color:var(--green); background:var(--green-bg); padding:1px 7px; border-radius:var(--r-pill); margin-left:auto}
#cbt-wrap .tiers{display:grid; grid-template-columns:repeat(3,1fr); gap:13px; margin-top:8px}
@media(max-width:680px){
#cbt-wrap .tiers{grid-template-columns:1fr}
}
#cbt-wrap .tier{border:1px solid var(--line); border-radius:13px; padding:18px; background:#fff; display:flex; flex-direction:column; position:relative}
#cbt-wrap .tier.rec{border:2px solid var(--red)}
#cbt-wrap .tier .recbadge{position:absolute; top:-11px; left:16px; background:var(--red); color:#fff; font-size:10.5px; font-weight:600; letter-spacing:.04em; padding:3px 11px; border-radius:var(--r-pill)}
#cbt-wrap .tier .tname{font-size:15px; font-weight:600}
#cbt-wrap .tier .tmeta{font-size:12px; color:var(--ink-3); margin:2px 0 13px}
#cbt-wrap .tier ul{list-style:none; flex:1}
#cbt-wrap .tier li{font-size:12.5px; color:var(--ink-2); padding:3px 0 3px 15px; position:relative}
#cbt-wrap .tier li::before{content:''; position:absolute; left:0; top:9px; width:5px; height:5px; border-radius:50%; background:var(--red)}
#cbt-wrap .tier .price{margin-top:14px; padding-top:12px; border-top:1px solid var(--line); font-size:13px; font-weight:600}
#cbt-wrap .tier .cta{margin-top:12px; padding:11px; border-radius:10px; border:1.5px solid var(--line-2); background:#fff; font-family:inherit; font-size:13.5px; font-weight:600; color:var(--ink); cursor:pointer; transition:all .13s}
#cbt-wrap .tier.rec .cta{background:var(--red); color:#fff; border-color:var(--red)}
#cbt-wrap .tier .cta:hover{border-color:var(--red)}
#cbt-wrap .pviews{margin-top:6px}
#cbt-wrap .ptabs{display:flex; gap:6px; background:var(--surf); padding:5px; border-radius:13px; margin-bottom:16px; flex-wrap:wrap}
#cbt-wrap .ptab{flex:1; min-width:120px; border:none; background:transparent; font-family:inherit; font-size:13px; font-weight:600; color:var(--ink-2); padding:10px 8px; border-radius:9px; cursor:pointer; transition:all .15s; text-align:center; line-height:1.3}
#cbt-wrap .ptab .ps{display:block; font-size:10.5px; font-weight:500; color:var(--ink-3); margin-top:2px}
#cbt-wrap .ptab.on{background:#fff; color:var(--ink); box-shadow:0 1px 4px rgba(34,34,34,.08)}
#cbt-wrap .ptab.on .ps{color:var(--red-dk)}
#cbt-wrap .ppanel{display:none}
#cbt-wrap .ppanel.on{display:block; animation:cbt-fade .25s ease both}
#cbt-wrap .panelhd{font-size:13.5px; color:var(--ink-2); margin-bottom:12px; line-height:1.5}
#cbt-wrap .testlist{list-style:none}
#cbt-wrap .testlist li{display:flex; gap:11px; align-items:flex-start; padding:10px 0; border-bottom:1px solid var(--line)}
#cbt-wrap .testlist li:last-child{border-bottom:none}
#cbt-wrap .testlist .tk{flex-shrink:0; width:20px; height:20px; border-radius:6px; display:grid; place-items:center; font-size:11px; font-weight:700; color:#fff; margin-top:1px}
#cbt-wrap .testlist .tk.g0{background:var(--green)}
#cbt-wrap .testlist .tk.g1{background:var(--amber)}
#cbt-wrap .testlist .tk.g2{background:var(--red)}
#cbt-wrap .testlist .tx{flex:1}
#cbt-wrap .testlist .tn{font-size:13.5px; font-weight:500; color:var(--ink)}
#cbt-wrap .testlist .tw{font-size:11.5px; color:var(--ink-3); margin-top:1px}
#cbt-wrap .testlist .badge{font-size:10px; font-weight:600; padding:2px 7px; border-radius:var(--r-pill); margin-left:7px; vertical-align:middle}
#cbt-wrap .testlist .badge.shared{background:var(--amber-bg); color:var(--amber)}
#cbt-wrap .testlist .badge.score{background:#E8F0F6; color:#1F5C8A}
#cbt-wrap .casc-key{display:flex; gap:14px; flex-wrap:wrap; margin-top:14px; font-size:11px; color:var(--ink-3)}
#cbt-wrap .casc-key span{display:inline-flex; align-items:center; gap:5px}
#cbt-wrap .casc-key i{width:10px; height:10px; border-radius:3px; display:inline-block}
#cbt-wrap .cta-row{margin-top:18px; display:flex; gap:10px; align-items:center; flex-wrap:wrap}
#cbt-wrap .cta-row .btn{padding:13px 22px}
#cbt-wrap .cta-row .pp{font-size:13px; color:var(--ink-3)}
#cbt-wrap .viewall{margin-top:18px; border:1px solid var(--line); border-radius:12px; overflow:hidden}
#cbt-wrap .viewall summary{list-style:none; cursor:pointer; padding:14px 18px; font-size:14px; font-weight:600; color:var(--ink); display:flex; justify-content:space-between; align-items:center; background:var(--surf)}
#cbt-wrap .viewall summary::-webkit-details-marker{display:none}
#cbt-wrap .viewall summary .chev{transition:transform .2s; color:var(--ink-3)}
#cbt-wrap .viewall[open] summary .chev{transform:rotate(180deg)}
#cbt-wrap .viewall .inner{padding:16px}
#cbt-wrap .disclaimer{font-size:12.5px; color:var(--ink-3); line-height:1.6; margin-top:24px; padding:16px; background:var(--surf); border-radius:12px}
#cbt-wrap .guidenote{font-size:12px; color:var(--ink-3); margin-top:10px; padding-left:13px; border-left:2px solid var(--line-2)}
#cbt-wrap .riskcard{border:1px solid var(--line); border-radius:13px; padding:20px; margin-top:4px; background:#fff}
#cbt-wrap .riskcard.secondary{background:var(--surf)}
#cbt-wrap .hsTop{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:26px}
#cbt-wrap .hsScore{display:flex; align-items:flex-end; gap:5px}
#cbt-wrap #hsNum{font-size:54px; font-weight:700; line-height:.82; letter-spacing:-.03em; color:var(--ink)}
#cbt-wrap .hsOf{font-size:15px; color:var(--ink-3); margin-bottom:7px}
#cbt-wrap .hsBand{font-size:16px; font-weight:600; text-align:right}
#cbt-wrap .hsBand.low{color:var(--green)}
#cbt-wrap .hsBand.mod{color:var(--amber)}
#cbt-wrap .hsBand.high{color:var(--red-dk)}
#cbt-wrap .hsAnchor{display:block; font-size:11.5px; font-weight:400; color:var(--ink-3); margin-top:2px}
#cbt-wrap .hsTrackWrap{position:relative; padding-top:48px}
#cbt-wrap .hsLogo{position:absolute; top:0; left:0; transform:translateX(-50%); transition:left 1.6s cubic-bezier(.34,1.08,.4,1); text-align:center; will-change:left}
#cbt-wrap .hsLogo img{width:40px; height:40px; display:block; margin:0 auto; filter:drop-shadow(0 2px 6px rgba(34,34,34,.18))}
#cbt-wrap .hsPin{display:block; width:2px; height:11px; background:#c3b9b9; margin:3px auto 0}
#cbt-wrap .hsTrack{height:14px; border-radius:var(--r-pill); background:linear-gradient(90deg,#1C9A6B 0%,#34A063 26%,#D98318 32%,#E8722A 58%,#FF3333 66%,#FF3333 100%)}
#cbt-wrap .hsLegend{display:flex; margin-top:9px}
#cbt-wrap .hsLegend > div{text-align:center}
#cbt-wrap .hsLegend .lo{flex:4}
#cbt-wrap .hsLegend .mo{flex:3; border-left:1px solid var(--line); border-right:1px solid var(--line)}
#cbt-wrap .hsLegend .hi{flex:3}
#cbt-wrap .hsLegend b{font-size:11.5px; font-weight:600}
#cbt-wrap .hsLegend .lo b{color:var(--green)}
#cbt-wrap .hsLegend .mo b{color:var(--amber)}
#cbt-wrap .hsLegend .hi b{color:var(--red-dk)}
#cbt-wrap .hsLegend i{display:block; font-size:10.5px; color:var(--ink-3); font-style:normal; margin-top:1px}
#cbt-wrap .hsNote{font-size:11px; color:var(--ink-3); text-align:center; margin-top:14px}
#cbt-wrap .hsPct{display:flex; align-items:center; gap:8px; justify-content:center; background:var(--info-bg); border-radius:10px; padding:10px 14px; margin-top:16px}
#cbt-wrap .hsPct svg{width:17px; height:17px; color:var(--info); flex-shrink:0}
#cbt-wrap .hsPct span{font-size:13.5px; color:var(--info)}
#cbt-wrap .hsPct b{font-weight:700}
#cbt-wrap .hsPct.alt{background:var(--surf)}
#cbt-wrap .hsPct.alt span{color:var(--ink-3)}
#cbt-wrap .hsDisc{font-size:10.5px; color:var(--ink-3); line-height:1.55; margin-top:14px; padding-top:11px; border-top:1px solid var(--line)}
#cbt-wrap .hsDisc a{color:var(--info)}
#cbt-wrap .followq{margin-top:-4px; margin-bottom:4px; padding:12px 0 4px 14px; border-left:2px solid var(--line-2)}
#cbt-wrap .followq > label{font-size:14px}
#cbt-wrap .offernote{display:flex; gap:8px; align-items:flex-start; background:var(--info-bg); border-radius:9px; padding:9px 12px; margin-top:10px; font-size:12.5px; color:var(--info); line-height:1.5}
#cbt-wrap .offernote svg{width:15px; height:15px; flex-shrink:0; margin-top:1px; color:var(--info)}
#cbt-wrap #famLevel:empty{display:none}
#cbt-wrap .reportwrap{margin-top:6px}
#cbt-wrap .reportsec{background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px 18px 16px; margin-bottom:12px}
#cbt-wrap .reportsec.ctx{background:var(--surf); border-color:var(--line-2)}
#cbt-wrap .rsec-h{display:flex; align-items:center; gap:9px; margin-bottom:14px}
#cbt-wrap .rsec-h svg{width:18px; height:18px; color:var(--red); flex-shrink:0}
#cbt-wrap .rsec-h h4{margin:0; font-size:15px; font-weight:700; color:var(--ink)}
#cbt-wrap .rsec-p{font-size:13.5px; color:var(--ink-2); line-height:1.6; margin:14px 0 0}
#cbt-wrap .rsec-note{font-size:11.5px; color:var(--ink-3); line-height:1.5; margin:12px 0 0; font-style:italic}
#cbt-wrap .ha-nums{display:flex; align-items:center; justify-content:center; gap:18px; margin:6px 0 14px}
#cbt-wrap .ha-num{display:flex; flex-direction:column; align-items:center; gap:3px}
#cbt-wrap .ha-big{font-size:46px; font-weight:800; line-height:1; color:var(--ink); letter-spacing:-1px}
#cbt-wrap .ha-big.older{color:var(--red-dk)}
#cbt-wrap .ha-big.younger{color:var(--green)}
#cbt-wrap .ha-big.same{color:var(--ink)}
#cbt-wrap .ha-lab{font-size:11px; color:var(--ink-3); text-transform:uppercase; letter-spacing:.04em}
#cbt-wrap .ha-vs{font-size:13px; color:var(--ink-3); font-weight:600}
#cbt-wrap .ha-ruler{position:relative; margin:30px 8px 4px}
#cbt-wrap .ha-track{height:6px; border-radius:6px; background:linear-gradient(90deg,var(--green-bg),var(--amber-bg),var(--red-12))}
#cbt-wrap .ha-pin{position:absolute; top:-4px; transform:translateX(-50%)}
#cbt-wrap .ha-pin > span{position:absolute; top:-22px; left:50%; transform:translateX(-50%); font-size:10.5px; font-weight:700; white-space:nowrap}
#cbt-wrap .ha-pin::after{content:''; display:block; width:14px; height:14px; border-radius:50%; border:3px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.25)}
#cbt-wrap .ha-pin.actual::after{background:var(--ink-3)}
#cbt-wrap .ha-pin.actual > span{color:var(--ink-2)}
#cbt-wrap .ha-pin.heart::after{background:var(--red)}
#cbt-wrap .ha-pin.heart.younger::after{background:var(--green)}
#cbt-wrap .ha-pin.heart.same::after{background:var(--ink)}
#cbt-wrap .ha-pin.heart > span{color:var(--red-dk)}
#cbt-wrap .ha-pin.heart.younger > span{color:var(--green)}
#cbt-wrap .ha-pin.heart.same > span{color:var(--ink-2)}
#cbt-wrap .ha-scale{display:flex; justify-content:space-between; font-size:10px; color:var(--ink-3); margin:8px 8px 0}
#cbt-wrap .cmp-bar{margin-bottom:13px}
#cbt-wrap .cmp-lab{display:flex; justify-content:space-between; font-size:12.5px; color:var(--ink-2); margin-bottom:5px}
#cbt-wrap .cmp-lab span:last-child{font-weight:700; color:var(--ink)}
#cbt-wrap .cmp-track{height:14px; background:var(--surf); border-radius:8px; overflow:hidden}
#cbt-wrap .cmp-fill{height:100%; border-radius:8px; min-width:3px}
#cbt-wrap .cmp-fill.you{background:var(--red)}
#cbt-wrap .cmp-fill.ideal{background:var(--green)}
#cbt-wrap .cmp-fill.typical{background:var(--amber)}
#cbt-wrap .wi-row{margin-bottom:13px}
#cbt-wrap .wi-lab{font-size:13px; color:var(--ink); font-weight:600; margin-bottom:6px}
#cbt-wrap .wi-bar{display:flex; align-items:center; gap:10px}
#cbt-wrap .wi-track{flex:1; height:12px; background:var(--red-12); border-radius:7px; overflow:hidden}
#cbt-wrap .wi-fill{height:100%; background:var(--green); border-radius:7px; min-width:3px}
#cbt-wrap .wi-vals{display:flex; align-items:baseline; gap:7px; flex-shrink:0}
#cbt-wrap .wi-new{font-size:14px; font-weight:700; color:var(--green)}
#cbt-wrap .wi-drop{font-size:11px; font-weight:600; color:var(--ink-3)}
#cbt-wrap .band-scale{position:relative; display:flex; border-radius:9px; overflow:visible; margin:6px 0 42px; height:48px}
#cbt-wrap .band-seg{flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; color:#fff}
#cbt-wrap .band-seg span{font-size:12px; font-weight:700}
#cbt-wrap .band-seg small{font-size:10px; opacity:.92}
#cbt-wrap .band-seg.low{background:var(--green)}
#cbt-wrap .band-seg.mod{background:var(--amber)}
#cbt-wrap .band-seg.high{background:var(--red)}
#cbt-wrap .band-pin{position:absolute; bottom:-16px; transform:translateX(-50%)}
#cbt-wrap .band-pin > span{position:relative; font-size:11px; font-weight:800; color:var(--ink); background:#fff; border:1px solid var(--line-2); border-radius:6px; padding:1px 6px; box-shadow:0 1px 3px rgba(0,0,0,.12)}
#cbt-wrap .band-pin::before{content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:3px; height:48px; background:var(--ink)}
#cbt-wrap .ctx-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
#cbt-wrap .ctx-stat{text-align:center; padding:8px}
#cbt-wrap .ctx-n{display:block; font-size:30px; font-weight:800; color:var(--red-dk); line-height:1}
#cbt-wrap .ctx-t{display:block; font-size:11.5px; color:var(--ink-2); line-height:1.45; margin-top:8px}
@media(max-width:520px){
#cbt-wrap .ctx-grid{grid-template-columns:1fr; gap:4px}
#cbt-wrap .ctx-stat{display:flex; align-items:center; gap:12px; text-align:left}
#cbt-wrap .ctx-n{font-size:24px; flex-shrink:0; width:64px}
#cbt-wrap .ctx-t{margin-top:0}
}
#cbt-wrap .drivers{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px}
@media(max-width:540px){
#cbt-wrap .drivers{grid-template-columns:1fr}
}
#cbt-wrap .drivers .col h4{font-size:12px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:var(--ink-3); margin-bottom:8px}
#cbt-wrap .drivers .col.up h4{color:var(--amber)}
#cbt-wrap .drivers ul{list-style:none}
#cbt-wrap .drivers li{font-size:13.5px; color:var(--ink-2); padding:4px 0 4px 17px; position:relative; line-height:1.4}
#cbt-wrap .drivers .up li::before{content:'▲'; position:absolute; left:0; top:5px; font-size:8px; color:var(--amber)}
#cbt-wrap .drivers .fixed li::before{content:'•'; position:absolute; left:2px; top:2px; color:var(--ink-3)}
#cbt-wrap .drivers .good li::before{content:'✓'; position:absolute; left:0; top:3px; font-size:11px; color:var(--green)}
#cbt-wrap .provisional{display:flex; gap:11px; align-items:flex-start; background:var(--amber-bg); border:1px solid var(--amber-line); border-radius:11px; padding:13px 15px; margin-top:16px}
#cbt-wrap .provisional svg{width:18px;height:18px;color:var(--amber);flex-shrink:0;margin-top:1px}
#cbt-wrap .provisional p{font-size:13.5px; color:#6b4a12; line-height:1.5}
#cbt-wrap .separator-note{font-size:13px; color:var(--ink-2); background:var(--surf); border-radius:10px; padding:12px 14px; margin-top:6px; line-height:1.55}
#cbt-wrap .separator-note b{color:var(--ink)}
#cbt-wrap .devbar{background:#222; color:#f3d6d6; font-size:11.5px; text-align:center; padding:7px; letter-spacing:.02em}
#cbt-wrap .devbar b{color:#fff}
#cbt-wrap .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#cbt-wrap .overlay{position:fixed; inset:0; background:rgba(34,34,34,.5); display:flex; align-items:center; justify-content:center; padding:18px; z-index:50; animation:cbt-fade .25s ease both}
@keyframes cbt-fade{from{opacity:0}to{opacity:1}}
#cbt-wrap .modal{position:relative; width:100%; max-width:440px; background:#fff; border-radius:18px; box-shadow:0 24px 60px rgba(34,34,34,.22); padding:clamp(24px,5vw,34px); animation:cbt-pop .32s cubic-bezier(.2,.9,.3,1) both}
@keyframes cbt-pop{from{opacity:0; transform:translateY(16px) scale(.97)}to{opacity:1; transform:none}}
#cbt-wrap .modal .x{position:absolute; top:14px; right:14px; width:34px; height:34px; border-radius:50%; border:none; background:var(--surf); color:var(--ink-3); font-size:17px; cursor:pointer; display:grid; place-items:center; transition:background .15s, color .15s}
#cbt-wrap .modal .x:hover{background:var(--line); color:var(--ink)}
#cbt-wrap .modal h2{font-size:21px; font-weight:600; letter-spacing:-.02em}
#cbt-wrap .modal .msub{font-size:14px; color:var(--ink-2); margin-top:6px; margin-bottom:6px}
#cbt-wrap .modal .field{margin-top:14px}
#cbt-wrap .modal .field label{font-size:13.5px; font-weight:500; display:block; margin-bottom:6px}
#cbt-wrap .modal .check{display:flex; gap:11px; align-items:flex-start; margin-top:16px; cursor:pointer}
#cbt-wrap .modal .check .box{width:21px; height:21px; border-radius:6px; border:2px solid var(--line-2); flex-shrink:0; display:grid; place-items:center; margin-top:1px; transition:all .15s}
#cbt-wrap .modal .check.on .box{background:var(--red); border-color:var(--red)}
#cbt-wrap .modal .check.on .box::after{content:'✓'; color:#fff; font-size:12px; font-weight:600}
#cbt-wrap .modal .check span{font-size:13px; color:var(--ink-2); line-height:1.45}
#cbt-wrap .modal .mnav{display:flex; gap:10px; margin-top:22px}
#cbt-wrap .modal .mnav .btn{padding:13px 20px; font-size:15px}
#cbt-wrap .modal .skip{text-align:center; margin-top:13px}
#cbt-wrap .modal .skip button{background:none; border:none; font-family:inherit; font-size:12.5px; color:var(--ink-3); text-decoration:underline; cursor:pointer}
#cbt-wrap .modal .err{font-size:12.5px; color:var(--red-dk); margin-top:6px; min-height:0}
#cbt-wrap .loadwrap{min-height:62vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:40px 20px}
#cbt-wrap .loadwrap img{height:54px; width:auto; margin-bottom:30px; animation:cbt-pulse 1.6s ease-in-out infinite}
@keyframes cbt-pulse{0%,100%{opacity:1; transform:scale(1)}50%{opacity:.72; transform:scale(.97)}}
#cbt-wrap .loadbar{width:min(340px,80vw); height:9px; background:var(--line); border-radius:var(--r-pill); overflow:hidden}
#cbt-wrap .loadbar > i{display:block; height:100%; width:0%; background:linear-gradient(90deg,var(--red),var(--red-dk)); border-radius:inherit; transition:width 1s linear}
#cbt-wrap .loadmsg{margin-top:22px; font-size:16px; font-weight:500; color:var(--ink); min-height:24px}
#cbt-wrap .loadmsg span{display:inline-block; animation:cbt-swap .4s ease both}
@keyframes cbt-swap{from{opacity:0; transform:translateY(6px)}to{opacity:1; transform:none}}
#cbt-wrap .loadstep{margin-top:8px; font-size:12.5px; color:var(--ink-3)}
#cbt-wrap .bpduo{display:flex; align-items:flex-end; gap:10px; margin-top:6px}
#cbt-wrap .bpduo > div{display:flex; flex-direction:column; gap:5px; flex:1}
#cbt-wrap .bpduo input{text-align:center; font-weight:600}
#cbt-wrap .bpduo .bplab{font-size:11px; color:var(--ink-3); text-align:center}
#cbt-wrap .bpduo .bpslash{font-size:24px; color:var(--ink-3); font-weight:300; padding-bottom:24px}
#cbt-wrap .bpduo .bpunit{font-size:13px; color:var(--ink-3); font-weight:500; padding-bottom:24px; flex-shrink:0}
#cbt-wrap .lipidgrid{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:8px}
#cbt-wrap .lipidf{display:flex; flex-direction:column; gap:5px}
#cbt-wrap .lipidf .mini{font-size:12.5px; font-weight:500; color:var(--ink-2); margin:0}
#cbt-wrap .measures{display:flex; flex-direction:column; gap:18px}
#cbt-wrap .measure .mhd{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:9px; flex-wrap:wrap}
#cbt-wrap .measure .mname{display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--ink)}
#cbt-wrap .measure .mname svg{width:16px; height:16px; color:var(--red); flex-shrink:0}
#cbt-wrap .measure .mright{display:flex; align-items:center; gap:9px}
#cbt-wrap .measure .mval{font-size:15px; font-weight:700; color:var(--ink); white-space:nowrap}
#cbt-wrap .measure .mval small{font-weight:500; color:var(--ink-3); font-size:11px}
#cbt-wrap .mchip{font-size:10.5px; font-weight:700; letter-spacing:.02em; padding:3px 9px; border-radius:var(--r-pill); white-space:nowrap}
#cbt-wrap .mchip.good{background:var(--green-bg); color:var(--green)}
#cbt-wrap .mchip.warn{background:var(--amber-bg); color:var(--amber)}
#cbt-wrap .mchip.high{background:var(--red-12); color:var(--red-dk)}
#cbt-wrap .mbar{position:relative; height:10px; border-radius:6px; overflow:visible}
#cbt-wrap .mbar .mpin{position:absolute; top:-3px; width:4px; height:16px; background:var(--ink); border-radius:3px; transform:translateX(-50%); box-shadow:0 0 0 2px #fff}
#cbt-wrap .mref{font-size:12px; color:var(--ink-3); margin-top:9px; line-height:1.5}
#cbt-wrap .lipidpanel{display:grid; grid-template-columns:1fr 1fr; gap:10px}
#cbt-wrap .lipid{display:flex; flex-direction:column; gap:4px; background:var(--surf); border:1px solid var(--line); border-radius:10px; padding:11px 13px}
#cbt-wrap .lipid .ln{font-size:12px; color:var(--ink-2); font-weight:500}
#cbt-wrap .lipid .lv{font-size:19px; font-weight:700; color:var(--ink); line-height:1.1}
#cbt-wrap .lipid .mchip{align-self:flex-start; margin-top:2px}
#cbt-wrap .lifelist{display:flex; flex-direction:column; gap:12px}
#cbt-wrap .life{display:flex; gap:13px; align-items:flex-start; background:var(--surf); border:1px solid var(--line); border-radius:12px; padding:14px 15px}
#cbt-wrap .life .lico{width:38px; height:38px; border-radius:10px; background:var(--red-12); color:var(--red-dk); display:grid; place-items:center; flex-shrink:0}
#cbt-wrap .life .lico svg{width:20px; height:20px}
#cbt-wrap .life .lbody{flex:1; min-width:0}
#cbt-wrap .life .lhd{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
#cbt-wrap .life .lname{font-size:14.5px; font-weight:600; color:var(--ink)}
#cbt-wrap .life .lnote{font-size:13px; color:var(--ink-2); margin-top:5px; line-height:1.5}
#cbt-wrap .cvdnote{background:var(--amber-bg); border:1px solid var(--amber); border-left:4px solid var(--amber); border-radius:12px; padding:15px 17px; margin-bottom:16px}
#cbt-wrap .cvdnote .cvdh{display:flex; align-items:center; gap:9px; margin-bottom:7px}
#cbt-wrap .cvdnote .cvdh svg{width:19px; height:19px; color:var(--amber); flex-shrink:0}
#cbt-wrap .cvdnote .cvdh strong{font-size:14.5px; color:var(--ink)}
#cbt-wrap .cvdnote p{font-size:13.5px; color:var(--ink-2); line-height:1.55; margin:0}
#cbt-wrap .hxlist{display:flex; flex-direction:column; gap:13px}
#cbt-wrap .hx{display:flex; gap:12px; align-items:baseline; flex-wrap:wrap}
#cbt-wrap .hx .hxname{font-size:13px; font-weight:600; color:var(--ink); flex:0 0 130px}
#cbt-wrap .hx .hxvals{display:flex; flex-wrap:wrap; gap:6px; flex:1}
#cbt-wrap .hxchip{font-size:11.5px; font-weight:600; padding:3px 10px; border-radius:var(--r-pill); background:var(--surf); border:1px solid var(--line-2); color:var(--ink-2)}
#cbt-wrap .hxchip.good{background:var(--green-bg); border-color:transparent; color:var(--green)}
#cbt-wrap .hxchip.warn{background:var(--amber-bg); border-color:transparent; color:var(--amber)}
#cbt-wrap .hxchip.high{background:var(--red-12); border-color:transparent; color:var(--red-dk)}
#cbt-wrap .sxlist{display:flex; flex-direction:column; gap:14px}
#cbt-wrap .sxgroup{background:var(--surf); border:1px solid var(--line); border-radius:12px; padding:13px 15px}
#cbt-wrap .sxname{font-size:14px; font-weight:700; color:var(--ink); margin-bottom:9px}
#cbt-wrap .sxrows{display:flex; flex-direction:column; gap:6px}
#cbt-wrap .sxrow{display:flex; gap:12px; align-items:baseline; font-size:13px; line-height:1.4}
#cbt-wrap .sxrow .sxk{flex:0 0 92px; color:var(--ink-3); font-weight:500}
#cbt-wrap .sxrow .sxv{flex:1; color:var(--ink); font-weight:600}
#cbt-wrap .wcdlist{display:flex; flex-direction:column}
#cbt-wrap .wcd{display:flex; gap:13px; align-items:flex-start; padding:14px 0; border-top:1px solid var(--line)}
#cbt-wrap .wcd:first-child{border-top:none; padding-top:2px}
#cbt-wrap .wcd .wcdico{width:38px; height:38px; border-radius:10px; background:var(--red-12); color:var(--red-dk); display:grid; place-items:center; flex-shrink:0}
#cbt-wrap .wcd .wcdico svg{width:20px; height:20px}
#cbt-wrap .wcd .wcdbody{flex:1; min-width:0}
#cbt-wrap .wcd .wcdh{font-size:14.5px; font-weight:700; color:var(--ink)}
#cbt-wrap .wcd .wcdp{font-size:13px; color:var(--ink-2); line-height:1.55; margin-top:4px}
#cbt-wrap .wcdfoot{font-size:12.5px; color:var(--ink-3); margin-top:14px; padding-top:13px; border-top:1px dashed var(--line-2); line-height:1.5}
#cbt-wrap .printhead{display:none; align-items:center; gap:14px; padding-bottom:16px; margin-bottom:20px; border-bottom:2px solid var(--red)}
#cbt-wrap .printhead img{height:40px; width:auto}
#cbt-wrap .printhead .pht{font-size:18px; font-weight:700; color:var(--ink)}
#cbt-wrap .printhead .phm{font-size:12.5px; color:var(--ink-3); margin-top:3px}
#cbt-wrap .resactions{display:flex; align-items:center; gap:13px; margin:6px 0 22px; flex-wrap:wrap}
#cbt-wrap .resactions .dlbtn{display:inline-flex; align-items:center; gap:8px; width:auto; padding:10px 17px; font-size:14px}
#cbt-wrap .resactions .dlbtn svg{width:16px; height:16px}
#cbt-wrap .resactions .dlhint{font-size:12px; color:var(--ink-3)}
#cbt-wrap .trchart{width:100%; height:auto; display:block; margin:2px 0 4px}
#cbt-wrap .trchart .trcur{stroke:var(--red); stroke-width:2.5; stroke-linejoin:round}
#cbt-wrap .trchart .trimp{stroke:var(--green); stroke-width:2.5; stroke-dasharray:6 5; stroke-linejoin:round}
#cbt-wrap .trchart .trcurd{fill:var(--red)}
#cbt-wrap .trchart .trimpd{fill:var(--green)}
#cbt-wrap .trchart .trlab{fill:var(--red-dk); font-size:13px; font-weight:700; font-family:inherit}
#cbt-wrap .trchart .traxis{fill:var(--ink-3); font-size:13px; font-family:inherit}
#cbt-wrap .trkey{display:flex; gap:18px; flex-wrap:wrap; font-size:12px; color:var(--ink-2)}
#cbt-wrap .trkey i{display:inline-block; width:16px; height:3px; border-radius:2px; vertical-align:middle; margin-right:6px}
#cbt-wrap .trkey .trk-cur{background:var(--red)}
#cbt-wrap .trkey .trk-imp{background:var(--green)}
#cbt-wrap .cmpl{display:flex; gap:17px; align-items:center}
#cbt-wrap .cmpl-ring{width:80px; height:80px; flex-shrink:0}
#cbt-wrap .cmpl-ring .cmpl-bg{fill:none; stroke:var(--line); stroke-width:8}
#cbt-wrap .cmpl-ring .cmpl-fg{fill:none; stroke-width:8; stroke-linecap:round; transform:rotate(-90deg); transform-origin:50% 50%; transition:stroke-dashoffset .6s ease}
#cbt-wrap .cmpl-ring .cmpl-pct{font-size:20px; font-weight:800; fill:var(--ink); font-family:inherit}
#cbt-wrap .cmpl-body{flex:1; min-width:0}
#cbt-wrap .cmpl-lead{font-size:14px; color:var(--ink); font-weight:600}
#cbt-wrap .cmpl-tail{font-size:13px; color:var(--ink-2); margin-top:5px; line-height:1.5}
#cbt-wrap .ptrlist{display:flex; flex-direction:column; gap:12px}
#cbt-wrap .ptr{border:1px solid var(--line); border-left:3px solid var(--red); border-radius:12px; padding:14px 16px; background:#fff}
#cbt-wrap .ptr-fit{display:flex; align-items:flex-start; gap:9px; font-weight:700; font-size:14.5px; color:var(--ink); line-height:1.4}
#cbt-wrap .ptr-ico{flex-shrink:0; width:18px; height:18px; color:var(--red); margin-top:1px}
#cbt-wrap .ptr-ico svg{width:18px; height:18px}
#cbt-wrap .ptr-why{font-size:13.5px; color:var(--ink-2); margin:8px 0 0; line-height:1.55}
#cbt-wrap .ptr-step{font-size:13.5px; color:var(--ink); margin-top:9px; line-height:1.55}
#cbt-wrap .ptr-lab{display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--red-dk); margin-right:7px; vertical-align:baseline}
#cbt-wrap .ptr-tag{font-size:11.5px; color:var(--ink-3); margin-top:10px; padding-top:9px; border-top:1px dashed var(--line-2)}
#cbt-wrap .funnel{margin-top:30px; padding-top:26px; border-top:1px solid var(--line-2)}
#cbt-wrap .funnel-lead{font-size:15.5px; color:var(--ink-2); line-height:1.55; margin-bottom:16px}
#cbt-wrap .funnel-lead b{color:var(--ink)}
#cbt-wrap .funnel-lead.urgent{display:flex; gap:11px; align-items:flex-start; background:var(--amber-bg); border:1px solid var(--amber-line); border-radius:12px; padding:13px 15px; color:var(--ink-2); font-size:14px}
#cbt-wrap .funnel-lead.urgent svg{flex-shrink:0; width:20px; height:20px; color:var(--amber); margin-top:1px}
#cbt-wrap .rechero{position:relative; border:2px solid var(--red); border-radius:16px; padding:20px; background:#fff; box-shadow:var(--shadow)}
#cbt-wrap .rh-badge{display:inline-block; background:var(--red); color:#fff; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:5px 11px; border-radius:999px}
#cbt-wrap .rh-title{font-size:21px; font-weight:800; color:var(--ink); margin-top:13px; letter-spacing:-.01em}
#cbt-wrap .rh-why{font-size:14px; color:var(--ink-2); line-height:1.55; margin:7px 0 0}
#cbt-wrap .hero-tests{list-style:none; margin:15px 0 0; padding:0; display:flex; flex-direction:column; gap:9px}
#cbt-wrap .hero-tests li{display:flex; align-items:center; gap:10px; font-size:14.5px; color:var(--ink)}
#cbt-wrap .hero-tests .tick{flex-shrink:0; width:19px; height:19px; color:var(--red)}
#cbt-wrap .rh-foot{display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; margin-top:18px; padding-top:16px; border-top:1px solid var(--line)}
#cbt-wrap .rh-price{display:flex; flex-direction:column}
#cbt-wrap .rh-pamt{font-size:22px; font-weight:800; color:var(--ink)}
#cbt-wrap .rh-psub{font-size:12px; color:var(--ink-3); margin-top:2px}
#cbt-wrap .rh-cta{min-width:150px}
#cbt-wrap .addon{display:flex; gap:9px; align-items:flex-start; margin:14px 0 0; background:var(--surf); border-radius:11px; padding:12px 14px; font-size:13px; color:var(--ink-2); line-height:1.5}
#cbt-wrap .addon svg{flex-shrink:0; width:17px; height:17px; color:var(--red); margin-top:1px}
#cbt-wrap .otheropts{margin-top:14px}
#cbt-wrap .otheropts>summary{cursor:pointer; list-style:none; font-size:13.5px; font-weight:600; color:var(--red-dk); display:inline-flex; align-items:center; gap:6px; padding:4px 0}
#cbt-wrap .otheropts>summary::-webkit-details-marker{display:none}
#cbt-wrap .otheropts .chev{transition:transform .2s}
#cbt-wrap .otheropts[open] .chev{transform:rotate(180deg)}
#cbt-wrap .optgrid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px}
#cbt-wrap .optcard{border:1px solid var(--line-2); border-radius:13px; padding:15px}
#cbt-wrap .oc-h{font-weight:700; font-size:15px; color:var(--ink)}
#cbt-wrap .oc-price{font-size:13px; font-weight:600; color:var(--red-dk); margin-top:3px}
#cbt-wrap .oc-sub{font-size:13px; color:var(--ink-2); line-height:1.5; margin:8px 0 12px}
#cbt-wrap .oc-cta{width:100%; font-size:14px}
#cbt-wrap .whatnext{margin-top:26px}
#cbt-wrap .whatnext h4, #cbt-wrap .bfaq h4{font-size:16px; font-weight:800; color:var(--ink); margin:0 0 14px}
#cbt-wrap .wnsteps{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px}
#cbt-wrap .wnsteps li{display:flex; gap:13px; align-items:flex-start}
#cbt-wrap .wnnum{flex-shrink:0; width:26px; height:26px; border-radius:999px; background:var(--red); color:#fff; font-weight:700; font-size:13px; line-height:1; display:flex; align-items:center; justify-content:center}
#cbt-wrap .wnsteps b{display:block; font-size:14.5px; color:var(--ink)}
#cbt-wrap .wnsteps span{display:block; font-size:13.5px; color:var(--ink-2); line-height:1.5; margin-top:2px}
#cbt-wrap .trustrow{display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:24px; padding-top:18px; border-top:1px solid var(--line)}
#cbt-wrap .trust{display:inline-flex; align-items:center; gap:7px; font-size:13px; color:var(--ink-2); font-weight:500}
#cbt-wrap .trust svg{width:18px; height:18px; color:var(--green)}
#cbt-wrap .trustnote{flex-basis:100%; font-size:11.5px; color:var(--ink-3); margin-top:2px}
#cbt-wrap .bfaq{margin-top:26px}
#cbt-wrap .bfaq-i{border-bottom:1px solid var(--line)}
#cbt-wrap .bfaq-i>summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px 0; font-size:14.5px; font-weight:600; color:var(--ink)}
#cbt-wrap .bfaq-i>summary::-webkit-details-marker{display:none}
#cbt-wrap .bfaq-i .chev{color:var(--ink-3); transition:transform .2s}
#cbt-wrap .bfaq-i[open] .chev{transform:rotate(180deg)}
#cbt-wrap .bfaq-i p{margin:0 0 14px; font-size:13.5px; color:var(--ink-2); line-height:1.55}
#cbt-wrap .sb-spacer{height:74px}
#cbt-wrap .stickybar{position:fixed; bottom:0; left:50%; transform:translateX(-50%); width:min(680px,100%); display:flex; justify-content:space-between; align-items:center; gap:14px; padding:12px 16px; background:#fff; border:1px solid var(--line-2); border-bottom:none; border-radius:16px 16px 0 0; box-shadow:0 -6px 24px rgba(34,34,34,.10); z-index:50}
#cbt-wrap .sb-info{display:flex; flex-direction:column; min-width:0}
#cbt-wrap .sb-name{font-size:14px; font-weight:700; color:var(--ink)}
#cbt-wrap .sb-price{font-size:12.5px; font-weight:600; color:var(--red-dk)}
#cbt-wrap .sb-cta{min-width:140px; flex-shrink:0}
@media (max-width:560px){
#cbt-wrap .optgrid{grid-template-columns:1fr}
}
@media print{
@page{ margin:14mm; }
#cbt-wrap{ background:#fff !important; }
#cbt-wrap .devbar, #cbt-wrap .topbar, #cbt-wrap .progress, #cbt-wrap .steplabel, #cbt-wrap .noprint, #cbt-wrap .nav, #cbt-wrap .cta-row, #cbt-wrap .pp, #cbt-wrap .sb-spacer, #cbt-wrap button{ display:none !important; }
#cbt-wrap .printhead{ display:flex !important; }
#cbt-wrap .shell{ max-width:none !important; padding:0 !important; }
#cbt-wrap .card{ box-shadow:none !important; border:none !important; border-radius:0 !important; margin:0 !important; padding:0 !important; max-width:none !important; }
#cbt-wrap .resblock, #cbt-wrap .measure, #cbt-wrap .life, #cbt-wrap .wcd, #cbt-wrap .sxgroup, #cbt-wrap .hx, #cbt-wrap .finding, #cbt-wrap .cvdnote, #cbt-wrap .tier, #cbt-wrap .provisional{ break-inside:avoid; page-break-inside:avoid; }
#cbt-wrap h3, #cbt-wrap h4{ break-after:avoid; page-break-after:avoid; }
#cbt-wrap *{ -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; }
}
#cbt-wrap .choicewrap{display:flex;flex-direction:column;gap:14px;margin-top:18px}
#cbt-wrap .choicecard{display:block;width:100%;text-align:left;background:var(--bg);border:1.5px solid var(--line-2);border-radius:16px;padding:18px 18px 16px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .05s}
#cbt-wrap .choicecard:hover{border-color:var(--red);box-shadow:0 6px 22px rgba(255,51,51,.10)}
#cbt-wrap .choicecard:active{transform:translateY(1px)}
#cbt-wrap .choicecard.primary{border-color:var(--red);background:var(--red-04)}
#cbt-wrap .choicecard h3{margin:10px 0 6px;font-size:19px;color:var(--ink)}
#cbt-wrap .choicecard p{margin:0 0 12px;color:var(--ink-2);font-size:14.5px;line-height:1.5}
#cbt-wrap .cc-tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:999px}
#cbt-wrap .cc-tag.free{background:#eef4f1;color:#127a59}
#cbt-wrap .cc-tag.gp{background:var(--red-12);color:var(--red-dk)}
#cbt-wrap .cc-go{font-weight:700;color:var(--red);font-size:14.5px}
#cbt-wrap .safetynote{display:flex;gap:10px;align-items:flex-start;background:var(--red-12);border:1px solid var(--red);border-radius:14px;padding:14px 16px;margin:16px 0;color:var(--ink);font-size:14.5px;line-height:1.5}
#cbt-wrap .safetynote svg{flex:0 0 auto;width:22px;height:22px}
#cbt-wrap .qrisk-note{margin-top:14px;padding:14px 16px;background:var(--surf);border:1px solid var(--line-2);border-radius:12px;font-size:12px;line-height:1.55;color:var(--ink-3)}
#cbt-wrap .qrisk-note p{margin:0 0 8px}
#cbt-wrap .qrisk-note p:last-child{margin:0}
#cbt-wrap .qrisk-note a{color:var(--red);text-decoration:none}
#cbt-wrap .qrisk-note b{color:var(--ink-2)}
#cbt-wrap .shopgroup{margin-top:16px}
#cbt-wrap .shopgroup h4{font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-3); margin:0 0 8px}
#cbt-wrap .prod{border:1px solid var(--line); border-radius:50px; margin-bottom:8px; overflow:hidden; background:#fff}
#cbt-wrap .prodhead{display:flex; justify-content:space-between; align-items:center; padding:14px 16px; cursor:pointer; gap:10px}
#cbt-wrap .prodname{font-size:14.5px; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:8px; flex-wrap:wrap}
#cbt-wrap .gaptag{font-size:10px; font-weight:600; background:var(--info-bg); color:var(--info); padding:2px 8px; border-radius:999px; letter-spacing:.01em}
#cbt-wrap .prodright{display:flex; align-items:center; gap:12px; flex-shrink:0}
#cbt-wrap .prodprice{font-size:14px; font-weight:700; color:var(--ink-2)}
#cbt-wrap .prodchev{color:var(--ink-3); transition:transform .2s; font-size:13px}
#cbt-wrap .prod.open .prodchev{transform:rotate(180deg)}
#cbt-wrap .proddesc{max-height:0; overflow:hidden; transition:max-height .28s ease; padding:0 16px}
#cbt-wrap .prod.open .proddesc{max-height:340px; padding:0 16px 16px}
#cbt-wrap .proddesc p{font-size:13px; color:var(--ink-2); margin:0 0 12px; line-height:1.55}
#cbt-wrap .addbtn{font-family:inherit; font-size:13px; font-weight:600; color:#fff; background:var(--red); border:none; border-radius:50px; padding:10px 18px; cursor:pointer; transition:all .15s}
#cbt-wrap .addbtn:hover{background:var(--red-dk)}
#cbt-wrap .addbtn.added{background:var(--green-bg); color:var(--green)}
#cbt-wrap .cartbar{position:fixed; left:0; right:0; bottom:0; background:#fff; border-top:1px solid var(--line); box-shadow:0 -4px 18px rgba(34,34,34,.10); padding:13px 18px; display:none; justify-content:space-between; align-items:center; gap:14px; z-index:60; max-width:760px; margin:0 auto}
#cbt-wrap .cartbar .cartinfo{font-size:15px; font-weight:600; color:var(--ink)}
#cbt-wrap .cartbar .btn{padding:11px 20px}
#cbt-wrap .basket{list-style:none; margin:0; padding:0}
#cbt-wrap .basket li{display:flex; justify-content:space-between; align-items:center; padding:11px 0; border-bottom:1px solid var(--line); font-size:14px; color:var(--ink)}
#cbt-wrap .bprice{display:flex; align-items:center; gap:11px; color:var(--ink-2); font-weight:600}
#cbt-wrap .rm{border:none; background:var(--surf); color:var(--ink-3); width:22px; height:22px; border-radius:50%; cursor:pointer; font-size:15px; line-height:1}
#cbt-wrap .rm:hover{background:var(--red-12); color:var(--red-dk)}
#cbt-wrap .baskettot{display:flex; justify-content:space-between; font-weight:700; font-size:15.5px; padding:13px 0 16px; color:var(--ink)}
#cbt-wrap .btn.block{width:100%; justify-content:center}
#cbt-wrap .empty{font-size:13px; color:var(--ink-3); padding:16px; background:var(--surf); border-radius:11px; text-align:center; line-height:1.5}
#cbt-wrap .prodright .addbtn{padding:8px 14px; font-size:12.5px}
#cbt-wrap .prodexp{border:none; background:transparent; color:var(--ink-3); cursor:pointer; font-size:13px; padding:4px; line-height:1; transition:transform .2s}
#cbt-wrap .prod.open .prodexp{transform:rotate(180deg)}
#cbt-wrap .prod.open .prodchev{transform:rotate(180deg)}
@media(max-width:560px){
#cbt-wrap .prodhead{flex-wrap:wrap}
#cbt-wrap .prodright{width:100%; justify-content:flex-end; margin-top:6px}
}
#cbt-wrap .bundle{border:1px solid var(--line-2)}
#cbt-wrap .bundle .prodname{flex-direction:column; align-items:flex-start; gap:2px}
#cbt-wrap .bundlesub{font-size:11.5px; font-weight:400; color:var(--ink-3)}
#cbt-wrap .bundleadds{font-size:13px; color:var(--ink-2); line-height:1.55; margin:0 0 12px}
#cbt-wrap .bundlewhat{font-size:12px; font-weight:600; color:var(--ink-3); text-transform:uppercase; letter-spacing:.04em; margin:0 0 8px}
#cbt-wrap .bundlelist{list-style:none; margin:0 0 4px; padding:0}
#cbt-wrap .bundlelist li{padding:8px 0; border-bottom:1px solid var(--line)}
#cbt-wrap .bundlelist li:last-child{border-bottom:none}
#cbt-wrap .bundlelist li > span{display:block}
#cbt-wrap .bundlelist .bl-desc{font-size:12px; color:var(--ink-3); margin-top:2px}
#cbt-wrap .prod.bundle.open .proddesc{max-height:560px}
#cbt-wrap .prod.edu-prod.open .proddesc{max-height:640px}
#cbt-wrap .eduwork{margin-top:6px; padding-top:14px; border-top:1px solid var(--line)}
#cbt-wrap .eduworkhd{font-size:12px; font-weight:600; color:var(--ink-3); text-transform:uppercase; letter-spacing:.04em; margin:0 0 9px}
#cbt-wrap .eduworklist{list-style:none; margin:0 0 12px; padding:0}
#cbt-wrap .eduworklist li{padding:8px 0; border-bottom:1px solid var(--line)}
#cbt-wrap .eduworklist li:last-child{border-bottom:none}
#cbt-wrap .ew-name{display:block; font-size:13.5px; font-weight:600; color:var(--ink)}
#cbt-wrap .ew-desc{display:block; font-size:12px; color:var(--ink-3); margin-top:2px}
#cbt-wrap .edunote{font-size:11.5px; color:var(--ink-3); line-height:1.55; margin:0; padding:11px 13px; background:var(--surf); border-radius:9px}
#cbt-wrap .edu{padding:12px 0; border-bottom:1px solid var(--line)}
#cbt-wrap .edu:last-child{border-bottom:none}
#cbt-wrap .edu h4{font-size:15px; margin:0 0 5px; color:var(--ink)}
#cbt-wrap .edu p{font-size:13.5px; color:var(--ink-2); line-height:1.55; margin:0}
#cbt-wrap .svclist{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:6px}
@media(max-width:600px){
#cbt-wrap .svclist{grid-template-columns:1fr}
}
#cbt-wrap .svc{border:1px solid var(--line); border-radius:12px; padding:14px 15px; display:flex; flex-direction:column; background:#fff}
#cbt-wrap .svctop{display:flex; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:5px}
#cbt-wrap .svcname{font-size:14px; font-weight:600; color:var(--ink)}
#cbt-wrap .svcprice{font-size:13px; font-weight:600; color:var(--ink-3); white-space:nowrap}
#cbt-wrap .svcdesc{font-size:12.5px; color:var(--ink-2); line-height:1.5; margin:0 0 12px; flex:1}
#cbt-wrap .svcbtn{align-self:flex-start; font-family:inherit; font-size:13px; font-weight:600; color:var(--red-dk); background:var(--red-04); border:1px solid var(--red-12); border-radius:9px; padding:9px 16px; cursor:pointer; transition:all .15s}
#cbt-wrap .svcbtn:hover{background:var(--red); color:#fff; border-color:var(--red)}
/* ============================================================
   PRINT / PDF PARITY PATCH (v1.0.2)
   Fixes: (a) the theme's own header/title/breadcrumb printing
   above the report, (b) all colour (verdict boxes, risk gauge,
   heart-age slider, chips etc.) getting stripped by the theme's
   print stylesheet reset.
   ============================================================ */

/* (a) Print ONLY #cbt-wrap, nothing else on the page.
   "Hide everything, reveal just our wrapper" via visibility — but
   WITHOUT repositioning it (no position:absolute). Chrome's print
   pagination engine miscalculates how much content fits per page
   when the printed root is absolutely positioned, which produced
   large blank gaps mid-report (confirmed: the standalone HTML,
   which never needed this rule, never showed the gap). Leaving
   #cbt-wrap in normal flow fixes the pagination at the cost of a
   small, bounded blank space at the very top of page 1 (equal to
   the now-invisible theme header's height) instead of a full
   half-empty page appearing randomly mid-report. */
@media print {
  body * { visibility: hidden !important; }
  #cbt-wrap, #cbt-wrap * { visibility: visible !important; }

  /* Belt-and-suspenders: collapse the LAYOUT SPACE (not just visibility)
     of the most common theme chrome containers, so page 1 doesn't start
     with a blank gap the height of your site header/nav/footer/sidebar.
     Safe to include even if your theme doesn't use some of these tags —
     an unmatched selector is simply a no-op. */
  body > header, body > nav, body > footer, body > aside,
  #wpadminbar, .site-header, .site-footer, #masthead, #colophon,
  .widget-area, .sidebar {
    display: none !important;
  }

  /* Un-constrain the theme's content column so #cbt-wrap can use the
     full printable page width, matching the standalone HTML (which
     has no theme wrapper at all). These selectors are the common WP
     layout containers; unmatched ones are harmless no-ops. Deliberately
     NOT using position:absolute here (that caused the pagination gap
     bug fixed previously) — this only removes the ancestors' own
     max-width/padding/margin, #cbt-wrap stays in normal flow. */
  html, body, #page, #content, .site, .site-content,
  .content-area, main, article, .entry-content, .entry, .post,
  #primary, .hentry, .elementor, .elementor-widget-container {
    max-width: none !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* (b) Force every background/text/border colour back on for print,
   generated from the full ruleset above so nothing is missed.
   These need !important because the theme's print reset almost
   certainly ALSO uses !important — and when both sides use
   !important, specificity decides, and #cbt-wrap (an ID) already
   outranks a generic theme reset. Without !important here though,
   the theme's !important wins outright regardless of specificity. */
@media print {
#cbt-wrap .topbar .save{margin-left:auto; font-size:12.5px; color:var(--ink-3) !important; display:flex; align-items:center; gap:6px}
#cbt-wrap .topbar .save b{width:7px; height:7px; border-radius:50%; background:var(--green) !important; display:inline-block}
#cbt-wrap .progress{height:5px; background:var(--line) !important; border-radius:var(--r-pill); overflow:hidden; margin-bottom:6px}
#cbt-wrap .progress > i{display:block; height:100%; width:0; background:linear-gradient(90deg,var(--red),var(--red-dk)) !important; border-radius:inherit; transition:width .5s cubic-bezier(.2,.8,.2,1)}
#cbt-wrap .steplabel{font-size:11.5px; letter-spacing:.04em; color:var(--ink-3) !important; text-transform:uppercase; margin-bottom:26px}
#cbt-wrap .card{background:#fff !important; border:1px solid var(--line) !important; border-radius:var(--r); box-shadow:var(--shadow); padding:clamp(22px,4vw,34px); margin-bottom:18px}
#cbt-wrap .eyebrow{font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--red-dk) !important; margin-bottom:10px}
#cbt-wrap .lede{font-size:15.5px; color:var(--ink-2) !important; margin-top:10px; max-width:56ch}
#cbt-wrap .hint{font-size:13.5px; color:var(--ink-3) !important; margin-top:6px}
#cbt-wrap .opt{display:flex; align-items:center; gap:13px; width:100%; text-align:left; background:#fff !important; border: none; padding:10px 0px; font-family:inherit; font-size:15.5px; color:var(--ink) !important; cursor:pointer; transition:border-color .15s, background .15s, transform .08s}
#cbt-wrap .opt .mark{width:22px; height:22px; border-radius:50%; border:2px solid var(--line-2) !important; flex-shrink:0; display:grid; place-items:center; transition:border-color .15s, background .15s}
#cbt-wrap .opt.sel{border-color:var(--red) !important; background:var(--red-04) !important}
#cbt-wrap .opt.sel .mark{border-color:var(--red) !important; background:var(--red) !important}
#cbt-wrap .opt.sel .mark::after{content:''; width:8px; height:8px; border-radius:50%; background:#fff !important}
#cbt-wrap .opt.sel .mark.sq::after{content:'✓'; color:#fff !important; font-size:13px; line-height:1; background:none !important; width:auto; height:auto}
#cbt-wrap .opt .sub{display:block; font-size:13px; color:var(--ink-3) !important; margin-top:2px; line-height:1.4}
#cbt-wrap .sym{border:1px solid var(--line) !important; border-radius:13px; padding:15px 16px; margin-bottom:11px; transition:border-color .15s, box-shadow .15s}
#cbt-wrap .sym .ico{width:42px; height:42px; border-radius:11px; background:var(--red-12) !important; color:var(--red-dk) !important; display:grid; place-items:center; flex-shrink:0}
#cbt-wrap .sym .whatlink{margin-top:3px; background:none !important; border:none !important; padding:0; font-family:inherit; font-size:13px; color:var(--red-dk) !important; cursor:pointer}
#cbt-wrap .sym .what{font-size:13.5px; color:var(--ink-2) !important; background:var(--surf) !important; border-radius:9px; padding:11px 13px; margin-top:10px; line-height:1.5}
#cbt-wrap .yn button{padding:8px 17px; border:1.5px solid var(--line-2) !important; background:#fff !important; color:var(--ink-2) !important; border-radius:var(--r-pill); font-family:inherit; font-size:14px; font-weight:500; cursor:pointer; transition:all .13s}
#cbt-wrap .yn button.no.on{background:var(--ink) !important; border-color:var(--ink) !important; color:#fff !important}
#cbt-wrap .yn button.yes.on{background:var(--red) !important; border-color:var(--red) !important; color:#fff !important}
#cbt-wrap .field .sublabel{font-weight:400; color:var(--ink-3) !important; font-size:13px}
#cbt-wrap input[type=number], #cbt-wrap input[type=text], #cbt-wrap input[type=tel], #cbt-wrap select{width:100%; font-family:inherit; font-size:15.5px; color:var(--ink) !important; padding:13px 14px; border:1.5px solid var(--line-2) !important; border-radius:50px; background:#FDFDFC !important; transition:border-color .15s}
#cbt-wrap .unit{display:flex; border:1.5px solid var(--line-2) !important; border-radius:50px; overflow:hidden; flex:0 0 auto}
#cbt-wrap .unit button{padding:0 15px; background:#fff !important; border:none !important; font-family:inherit; font-size:13.5px; font-weight:500; color:var(--ink-3) !important; cursor:pointer; transition:all .13s}
#cbt-wrap .unit button.on{background:var(--ink) !important; color:#fff !important}
#cbt-wrap .sectionhdr{font-size:13px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--red-dk) !important; margin:30px 0 4px; padding-top:22px; border-top:1px solid var(--line) !important}
#cbt-wrap .btn{font-family:inherit; font-weight:600; font-size:15.5px; border-radius:12px; padding:14px 24px; cursor:pointer; border:1.5px solid transparent !important; transition:transform .08s, background .15s, border-color .15s}
#cbt-wrap .btn.primary{background:var(--red) !important; color:#fff !important; flex:1}
#cbt-wrap .btn.primary:hover{background:var(--red-dk) !important}
#cbt-wrap .btn.primary:disabled{background:#f3d6d6 !important; color:#fff !important; cursor:not-allowed}
#cbt-wrap .btn.ghost{background:#fff !important; color:var(--ink-2) !important; border-color:var(--line-2) !important}
#cbt-wrap .navnote{font-size:12.5px; color:var(--ink-3) !important; text-align:center; margin-top:13px}
#cbt-wrap .agree{display:flex; gap:13px; align-items:flex-start; background:var(--surf) !important; border:1px solid var(--line) !important; border-radius:12px; padding:16px; margin-top:22px; cursor:pointer}
#cbt-wrap .agree .box{width:24px; height:24px; border-radius:7px; border:2px solid var(--line-2) !important; flex-shrink:0; display:grid; place-items:center; transition:all .15s}
#cbt-wrap .agree.on .box{background:var(--red) !important; border-color:var(--red) !important}
#cbt-wrap .agree.on .box::after{content:'✓'; color:#fff !important; font-size:14px; font-weight:600}
#cbt-wrap .agree span{font-size:14.5px; color:var(--ink) !important; line-height:1.5}
#cbt-wrap .emerg{border:1.5px solid var(--red) !important; background:var(--red-04) !important; border-radius:var(--r); padding:clamp(22px,4vw,32px)}
#cbt-wrap .emerg .tag{display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--red-dk) !important; background:var(--red-12) !important; padding:6px 12px; border-radius:var(--r-pill)}
#cbt-wrap .emerg h1{font-size:clamp(23px,4vw,30px); font-weight:700; margin:14px 0 10px; color:var(--red-dk) !important; line-height:1.2}
#cbt-wrap .emerg p{font-size:16px; color:var(--ink) !important; max-width:52ch}
#cbt-wrap .emerg .call{display:inline-flex; align-items:center; gap:10px; background:var(--red) !important; color:#fff !important; font-weight:700; font-size:19px; text-decoration:none; padding:15px 28px; border-radius:12px; margin-top:20px}
#cbt-wrap .emerg .continue button{background:none !important; border:none !important; font-family:inherit; font-size:13.5px; color:var(--ink-3) !important; text-decoration:underline; cursor:pointer; padding:0}
#cbt-wrap .verdict.green{background:var(--green-bg) !important}
#cbt-wrap .verdict.green .dot{background:var(--green) !important}
#cbt-wrap .verdict.green .val, #cbt-wrap .verdict.green .lab{color:var(--green) !important}
#cbt-wrap .verdict.amber{background:var(--amber-bg) !important}
#cbt-wrap .verdict.amber .dot{background:var(--amber) !important}
#cbt-wrap .verdict.amber .val, #cbt-wrap .verdict.amber .lab{color:var(--amber) !important}
#cbt-wrap .verdict.red{background:var(--red-12) !important}
#cbt-wrap .verdict.red .dot{background:var(--red) !important}
#cbt-wrap .verdict.red .val, #cbt-wrap .verdict.red .lab{color:var(--red-dk) !important}
#cbt-wrap .resblock h3{font-size:13px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-3) !important; margin-bottom:10px}
#cbt-wrap .resblock p{font-size:15.5px; color:var(--ink-2) !important; line-height:1.6}
#cbt-wrap .chip.green{background:var(--green-bg) !important; color:var(--green) !important}
#cbt-wrap .chip.amber{background:var(--amber-bg) !important; color:var(--amber) !important}
#cbt-wrap .chip.red{background:var(--red-12) !important; color:var(--red-dk) !important}
#cbt-wrap .finding .meta{font-size:13px; color:var(--ink-3) !important; margin-left:auto; text-align:right}
#cbt-wrap .tests{background:var(--surf) !important; border:1px solid var(--line) !important; border-radius:12px; padding:16px 18px; margin-top:4px}
#cbt-wrap .tests li .t{color:var(--red) !important; font-weight:700}
#cbt-wrap .tests li .sh{font-size:10px; font-weight:600; color:var(--green) !important; background:var(--green-bg) !important; padding:1px 7px; border-radius:var(--r-pill); margin-left:auto}
#cbt-wrap .tier{border:1px solid var(--line) !important; border-radius:13px; padding:18px; background:#fff !important; display:flex; flex-direction:column; position:relative}
#cbt-wrap .tier.rec{border:2px solid var(--red) !important}
#cbt-wrap .tier .recbadge{position:absolute; top:-11px; left:16px; background:var(--red) !important; color:#fff !important; font-size:10.5px; font-weight:600; letter-spacing:.04em; padding:3px 11px; border-radius:var(--r-pill)}
#cbt-wrap .tier .tmeta{font-size:12px; color:var(--ink-3) !important; margin:2px 0 13px}
#cbt-wrap .tier li{font-size:12.5px; color:var(--ink-2) !important; padding:3px 0 3px 15px; position:relative}
#cbt-wrap .tier li::before{content:''; position:absolute; left:0; top:9px; width:5px; height:5px; border-radius:50%; background:var(--red) !important}
#cbt-wrap .tier .cta{margin-top:12px; padding:11px; border-radius:10px; border:1.5px solid var(--line-2) !important; background:#fff !important; font-family:inherit; font-size:13.5px; font-weight:600; color:var(--ink) !important; cursor:pointer; transition:all .13s}
#cbt-wrap .tier.rec .cta{background:var(--red) !important; color:#fff !important; border-color:var(--red) !important}
#cbt-wrap .ptabs{display:flex; gap:6px; background:var(--surf) !important; padding:5px; border-radius:13px; margin-bottom:16px; flex-wrap:wrap}
#cbt-wrap .ptab{flex:1; min-width:120px; border:none !important; background:transparent !important; font-family:inherit; font-size:13px; font-weight:600; color:var(--ink-2) !important; padding:10px 8px; border-radius:9px; cursor:pointer; transition:all .15s; text-align:center; line-height:1.3}
#cbt-wrap .ptab .ps{display:block; font-size:10.5px; font-weight:500; color:var(--ink-3) !important; margin-top:2px}
#cbt-wrap .ptab.on{background:#fff !important; color:var(--ink) !important; box-shadow:0 1px 4px rgba(34,34,34,.08)}
#cbt-wrap .ptab.on .ps{color:var(--red-dk) !important}
#cbt-wrap .panelhd{font-size:13.5px; color:var(--ink-2) !important; margin-bottom:12px; line-height:1.5}
#cbt-wrap .testlist .tk{flex-shrink:0; width:20px; height:20px; border-radius:6px; display:grid; place-items:center; font-size:11px; font-weight:700; color:#fff !important; margin-top:1px}
#cbt-wrap .testlist .tk.g0{background:var(--green) !important}
#cbt-wrap .testlist .tk.g1{background:var(--amber) !important}
#cbt-wrap .testlist .tk.g2{background:var(--red) !important}
#cbt-wrap .testlist .tn{font-size:13.5px; font-weight:500; color:var(--ink) !important}
#cbt-wrap .testlist .tw{font-size:11.5px; color:var(--ink-3) !important; margin-top:1px}
#cbt-wrap .testlist .badge.shared{background:var(--amber-bg) !important; color:var(--amber) !important}
#cbt-wrap .testlist .badge.score{background:#E8F0F6 !important; color:#1F5C8A !important}
#cbt-wrap .casc-key{display:flex; gap:14px; flex-wrap:wrap; margin-top:14px; font-size:11px; color:var(--ink-3) !important}
#cbt-wrap .cta-row .pp{font-size:13px; color:var(--ink-3) !important}
#cbt-wrap .viewall{margin-top:18px; border:1px solid var(--line) !important; border-radius:12px; overflow:hidden}
#cbt-wrap .viewall summary{list-style:none; cursor:pointer; padding:14px 18px; font-size:14px; font-weight:600; color:var(--ink) !important; display:flex; justify-content:space-between; align-items:center; background:var(--surf) !important}
#cbt-wrap .viewall summary .chev{transition:transform .2s; color:var(--ink-3) !important}
#cbt-wrap .disclaimer{font-size:12.5px; color:var(--ink-3) !important; line-height:1.6; margin-top:24px; padding:16px; background:var(--surf) !important; border-radius:12px}
#cbt-wrap .guidenote{font-size:12px; color:var(--ink-3) !important; margin-top:10px; padding-left:13px; border-left:2px solid var(--line-2)}
#cbt-wrap .riskcard{border:1px solid var(--line) !important; border-radius:13px; padding:20px; margin-top:4px; background:#fff !important}
#cbt-wrap .riskcard.secondary{background:var(--surf) !important}
#cbt-wrap #hsNum{font-size:54px; font-weight:700; line-height:.82; letter-spacing:-.03em; color:var(--ink) !important}
#cbt-wrap .hsOf{font-size:15px; color:var(--ink-3) !important; margin-bottom:7px}
#cbt-wrap .hsBand.low{color:var(--green) !important}
#cbt-wrap .hsBand.mod{color:var(--amber) !important}
#cbt-wrap .hsBand.high{color:var(--red-dk) !important}
#cbt-wrap .hsAnchor{display:block; font-size:11.5px; font-weight:400; color:var(--ink-3) !important; margin-top:2px}
#cbt-wrap .hsPin{display:block; width:2px; height:11px; background:#c3b9b9 !important; margin:3px auto 0}
#cbt-wrap .hsTrack{height:14px; border-radius:var(--r-pill); background:linear-gradient(90deg,#1C9A6B 0%,#34A063 26%,#D98318 32%,#E8722A 58%,#FF3333 66%,#FF3333 100%) !important}
#cbt-wrap .hsLegend .lo b{color:var(--green) !important}
#cbt-wrap .hsLegend .mo b{color:var(--amber) !important}
#cbt-wrap .hsLegend .hi b{color:var(--red-dk) !important}
#cbt-wrap .hsLegend i{display:block; font-size:10.5px; color:var(--ink-3) !important; font-style:normal; margin-top:1px}
#cbt-wrap .hsNote{font-size:11px; color:var(--ink-3) !important; text-align:center; margin-top:14px}
#cbt-wrap .hsPct{display:flex; align-items:center; gap:8px; justify-content:center; background:var(--info-bg) !important; border-radius:10px; padding:10px 14px; margin-top:16px}
#cbt-wrap .hsPct svg{width:17px; height:17px; color:var(--info) !important; flex-shrink:0}
#cbt-wrap .hsPct span{font-size:13.5px; color:var(--info) !important}
#cbt-wrap .hsPct.alt{background:var(--surf) !important}
#cbt-wrap .hsPct.alt span{color:var(--ink-3) !important}
#cbt-wrap .hsDisc{font-size:10.5px; color:var(--ink-3) !important; line-height:1.55; margin-top:14px; padding-top:11px; border-top:1px solid var(--line) !important}
#cbt-wrap .hsDisc a{color:var(--info) !important}
#cbt-wrap .offernote{display:flex; gap:8px; align-items:flex-start; background:var(--info-bg) !important; border-radius:9px; padding:9px 12px; margin-top:10px; font-size:12.5px; color:var(--info) !important; line-height:1.5}
#cbt-wrap .offernote svg{width:15px; height:15px; flex-shrink:0; margin-top:1px; color:var(--info) !important}
#cbt-wrap .reportsec{background:#fff !important; border:1px solid var(--line) !important; border-radius:14px; padding:18px 18px 16px; margin-bottom:12px}
#cbt-wrap .reportsec.ctx{background:var(--surf) !important; border-color:var(--line-2) !important}
#cbt-wrap .rsec-h svg{width:18px; height:18px; color:var(--red) !important; flex-shrink:0}
#cbt-wrap .rsec-h h4{margin:0; font-size:15px; font-weight:700; color:var(--ink) !important}
#cbt-wrap .rsec-p{font-size:13.5px; color:var(--ink-2) !important; line-height:1.6; margin:14px 0 0}
#cbt-wrap .rsec-note{font-size:11.5px; color:var(--ink-3) !important; line-height:1.5; margin:12px 0 0; font-style:italic}
#cbt-wrap .ha-big{font-size:46px; font-weight:800; line-height:1; color:var(--ink) !important; letter-spacing:-1px}
#cbt-wrap .ha-big.older{color:var(--red-dk) !important}
#cbt-wrap .ha-big.younger{color:var(--green) !important}
#cbt-wrap .ha-big.same{color:var(--ink) !important}
#cbt-wrap .ha-lab{font-size:11px; color:var(--ink-3) !important; text-transform:uppercase; letter-spacing:.04em}
#cbt-wrap .ha-vs{font-size:13px; color:var(--ink-3) !important; font-weight:600}
#cbt-wrap .ha-track{height:6px; border-radius:6px; background:linear-gradient(90deg,var(--green-bg),var(--amber-bg),var(--red-12)) !important}
#cbt-wrap .ha-pin::after{content:''; display:block; width:14px; height:14px; border-radius:50%; border:3px solid #fff !important; box-shadow:0 1px 4px rgba(0,0,0,.25)}
#cbt-wrap .ha-pin.actual::after{background:var(--ink-3) !important}
#cbt-wrap .ha-pin.actual > span{color:var(--ink-2) !important}
#cbt-wrap .ha-pin.heart::after{background:var(--red) !important}
#cbt-wrap .ha-pin.heart.younger::after{background:var(--green) !important}
#cbt-wrap .ha-pin.heart.same::after{background:var(--ink) !important}
#cbt-wrap .ha-pin.heart > span{color:var(--red-dk) !important}
#cbt-wrap .ha-pin.heart.younger > span{color:var(--green) !important}
#cbt-wrap .ha-pin.heart.same > span{color:var(--ink-2) !important}
#cbt-wrap .ha-scale{display:flex; justify-content:space-between; font-size:10px; color:var(--ink-3) !important; margin:8px 8px 0}
#cbt-wrap .cmp-lab{display:flex; justify-content:space-between; font-size:12.5px; color:var(--ink-2) !important; margin-bottom:5px}
#cbt-wrap .cmp-lab span:last-child{font-weight:700; color:var(--ink) !important}
#cbt-wrap .cmp-track{height:14px; background:var(--surf) !important; border-radius:8px; overflow:hidden}
#cbt-wrap .cmp-fill.you{background:var(--red) !important}
#cbt-wrap .cmp-fill.ideal{background:var(--green) !important}
#cbt-wrap .cmp-fill.typical{background:var(--amber) !important}
#cbt-wrap .wi-lab{font-size:13px; color:var(--ink) !important; font-weight:600; margin-bottom:6px}
#cbt-wrap .wi-track{flex:1; height:12px; background:var(--red-12) !important; border-radius:7px; overflow:hidden}
#cbt-wrap .wi-fill{height:100%; background:var(--green) !important; border-radius:7px; min-width:3px}
#cbt-wrap .wi-new{font-size:14px; font-weight:700; color:var(--green) !important}
#cbt-wrap .wi-drop{font-size:11px; font-weight:600; color:var(--ink-3) !important}
#cbt-wrap .band-seg{flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; color:#fff !important}
#cbt-wrap .band-seg.low{background:var(--green) !important}
#cbt-wrap .band-seg.mod{background:var(--amber) !important}
#cbt-wrap .band-seg.high{background:var(--red) !important}
#cbt-wrap .band-pin > span{position:relative; font-size:11px; font-weight:800; color:var(--ink) !important; background:#fff !important; border:1px solid var(--line-2) !important; border-radius:6px; padding:1px 6px; box-shadow:0 1px 3px rgba(0,0,0,.12)}
#cbt-wrap .band-pin::before{content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:3px; height:48px; background:var(--ink) !important}
#cbt-wrap .ctx-n{display:block; font-size:30px; font-weight:800; color:var(--red-dk) !important; line-height:1}
#cbt-wrap .ctx-t{display:block; font-size:11.5px; color:var(--ink-2) !important; line-height:1.45; margin-top:8px}
#cbt-wrap .drivers .col h4{font-size:12px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:var(--ink-3) !important; margin-bottom:8px}
#cbt-wrap .drivers .col.up h4{color:var(--amber) !important}
#cbt-wrap .drivers li{font-size:13.5px; color:var(--ink-2) !important; padding:4px 0 4px 17px; position:relative; line-height:1.4}
#cbt-wrap .drivers .up li::before{content:'▲'; position:absolute; left:0; top:5px; font-size:8px; color:var(--amber) !important}
#cbt-wrap .drivers .fixed li::before{content:'•'; position:absolute; left:2px; top:2px; color:var(--ink-3) !important}
#cbt-wrap .drivers .good li::before{content:'✓'; position:absolute; left:0; top:3px; font-size:11px; color:var(--green) !important}
#cbt-wrap .provisional{display:flex; gap:11px; align-items:flex-start; background:var(--amber-bg) !important; border:1px solid var(--amber-line) !important; border-radius:11px; padding:13px 15px; margin-top:16px}
#cbt-wrap .provisional svg{width:18px; height:18px; color:var(--amber) !important; flex-shrink:0; margin-top:1px}
#cbt-wrap .provisional p{font-size:13.5px; color:#6b4a12 !important; line-height:1.5}
#cbt-wrap .separator-note{font-size:13px; color:var(--ink-2) !important; background:var(--surf) !important; border-radius:10px; padding:12px 14px; margin-top:6px; line-height:1.55}
#cbt-wrap .separator-note b{color:var(--ink) !important}
#cbt-wrap .devbar{background:#222 !important; color:#f3d6d6 !important; font-size:11.5px; text-align:center; padding:7px; letter-spacing:.02em}
#cbt-wrap .devbar b{color:#fff !important}
#cbt-wrap .overlay{position:fixed; inset:0; background:rgba(34,34,34,.5) !important; display:flex; align-items:center; justify-content:center; padding:18px; z-index:50; animation:cbt-fade .25s ease both}
#cbt-wrap .modal{position:relative; width:100%; max-width:440px; background:#fff !important; border-radius:18px; box-shadow:0 24px 60px rgba(34,34,34,.22); padding:clamp(24px,5vw,34px); animation:cbt-pop .32s cubic-bezier(.2,.9,.3,1) both}
#cbt-wrap .modal .x{position:absolute; top:14px; right:14px; width:34px; height:34px; border-radius:50%; border:none !important; background:var(--surf) !important; color:var(--ink-3) !important; font-size:17px; cursor:pointer; display:grid; place-items:center; transition:background .15s, color .15s}
#cbt-wrap .modal .x:hover{background:var(--line) !important; color:var(--ink) !important}
#cbt-wrap .modal .msub{font-size:14px; color:var(--ink-2) !important; margin-top:6px; margin-bottom:6px}
#cbt-wrap .modal .check .box{width:21px; height:21px; border-radius:6px; border:2px solid var(--line-2) !important; flex-shrink:0; display:grid; place-items:center; margin-top:1px; transition:all .15s}
#cbt-wrap .modal .check.on .box{background:var(--red) !important; border-color:var(--red) !important}
#cbt-wrap .modal .check.on .box::after{content:'✓'; color:#fff !important; font-size:12px; font-weight:600}
#cbt-wrap .modal .check span{font-size:13px; color:var(--ink-2) !important; line-height:1.45}
#cbt-wrap .modal .skip button{background:none !important; border:none !important; font-family:inherit; font-size:12.5px; color:var(--ink-3) !important; text-decoration:underline; cursor:pointer}
#cbt-wrap .modal .err{font-size:12.5px; color:var(--red-dk) !important; margin-top:6px; min-height:0}
#cbt-wrap .loadbar{width:min(340px,80vw); height:9px; background:var(--line) !important; border-radius:var(--r-pill); overflow:hidden}
#cbt-wrap .loadbar > i{display:block; height:100%; width:0%; background:linear-gradient(90deg,var(--red),var(--red-dk)) !important; border-radius:inherit; transition:width 1s linear}
#cbt-wrap .loadmsg{margin-top:22px; font-size:16px; font-weight:500; color:var(--ink) !important; min-height:24px}
#cbt-wrap .loadstep{margin-top:8px; font-size:12.5px; color:var(--ink-3) !important}
#cbt-wrap .bpduo .bplab{font-size:11px; color:var(--ink-3) !important; text-align:center}
#cbt-wrap .bpduo .bpslash{font-size:24px; color:var(--ink-3) !important; font-weight:300; padding-bottom:24px}
#cbt-wrap .bpduo .bpunit{font-size:13px; color:var(--ink-3) !important; font-weight:500; padding-bottom:24px; flex-shrink:0}
#cbt-wrap .lipidf .mini{font-size:12.5px; font-weight:500; color:var(--ink-2) !important; margin:0}
#cbt-wrap .measure .mname{display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--ink) !important}
#cbt-wrap .measure .mname svg{width:16px; height:16px; color:var(--red) !important; flex-shrink:0}
#cbt-wrap .measure .mval{font-size:15px; font-weight:700; color:var(--ink) !important; white-space:nowrap}
#cbt-wrap .measure .mval small{font-weight:500; color:var(--ink-3) !important; font-size:11px}
#cbt-wrap .mchip.good{background:var(--green-bg) !important; color:var(--green) !important}
#cbt-wrap .mchip.warn{background:var(--amber-bg) !important; color:var(--amber) !important}
#cbt-wrap .mchip.high{background:var(--red-12) !important; color:var(--red-dk) !important}
#cbt-wrap .mbar .mpin{position:absolute; top:-3px; width:4px; height:16px; background:var(--ink) !important; border-radius:3px; transform:translateX(-50%); box-shadow:0 0 0 2px #fff}
#cbt-wrap .mref{font-size:12px; color:var(--ink-3) !important; margin-top:9px; line-height:1.5}
#cbt-wrap .lipid{display:flex; flex-direction:column; gap:4px; background:var(--surf) !important; border:1px solid var(--line) !important; border-radius:10px; padding:11px 13px}
#cbt-wrap .lipid .ln{font-size:12px; color:var(--ink-2) !important; font-weight:500}
#cbt-wrap .lipid .lv{font-size:19px; font-weight:700; color:var(--ink) !important; line-height:1.1}
#cbt-wrap .life{display:flex; gap:13px; align-items:flex-start; background:var(--surf) !important; border:1px solid var(--line) !important; border-radius:12px; padding:14px 15px}
#cbt-wrap .life .lico{width:38px; height:38px; border-radius:10px; background:var(--red-12) !important; color:var(--red-dk) !important; display:grid; place-items:center; flex-shrink:0}
#cbt-wrap .life .lname{font-size:14.5px; font-weight:600; color:var(--ink) !important}
#cbt-wrap .life .lnote{font-size:13px; color:var(--ink-2) !important; margin-top:5px; line-height:1.5}
#cbt-wrap .cvdnote{background:var(--amber-bg) !important; border:1px solid var(--amber) !important; border-left:4px solid var(--amber); border-radius:12px; padding:15px 17px; margin-bottom:16px}
#cbt-wrap .cvdnote .cvdh svg{width:19px; height:19px; color:var(--amber) !important; flex-shrink:0}
#cbt-wrap .cvdnote .cvdh strong{font-size:14.5px; color:var(--ink) !important}
#cbt-wrap .cvdnote p{font-size:13.5px; color:var(--ink-2) !important; line-height:1.55; margin:0}
#cbt-wrap .hx .hxname{font-size:13px; font-weight:600; color:var(--ink) !important; flex:0 0 130px}
#cbt-wrap .hxchip{font-size:11.5px; font-weight:600; padding:3px 10px; border-radius:var(--r-pill); background:var(--surf) !important; border:1px solid var(--line-2) !important; color:var(--ink-2) !important}
#cbt-wrap .hxchip.good{background:var(--green-bg) !important; border-color:transparent !important; color:var(--green) !important}
#cbt-wrap .hxchip.warn{background:var(--amber-bg) !important; border-color:transparent !important; color:var(--amber) !important}
#cbt-wrap .hxchip.high{background:var(--red-12) !important; border-color:transparent !important; color:var(--red-dk) !important}
#cbt-wrap .sxgroup{background:var(--surf) !important; border:1px solid var(--line) !important; border-radius:12px; padding:13px 15px}
#cbt-wrap .sxname{font-size:14px; font-weight:700; color:var(--ink) !important; margin-bottom:9px}
#cbt-wrap .sxrow .sxk{flex:0 0 92px; color:var(--ink-3) !important; font-weight:500}
#cbt-wrap .sxrow .sxv{flex:1; color:var(--ink) !important; font-weight:600}
#cbt-wrap .wcd .wcdico{width:38px; height:38px; border-radius:10px; background:var(--red-12) !important; color:var(--red-dk) !important; display:grid; place-items:center; flex-shrink:0}
#cbt-wrap .wcd .wcdh{font-size:14.5px; font-weight:700; color:var(--ink) !important}
#cbt-wrap .wcd .wcdp{font-size:13px; color:var(--ink-2) !important; line-height:1.55; margin-top:4px}
#cbt-wrap .wcdfoot{font-size:12.5px; color:var(--ink-3) !important; margin-top:14px; padding-top:13px; border-top:1px dashed var(--line-2) !important; line-height:1.5}
#cbt-wrap .printhead .pht{font-size:18px; font-weight:700; color:var(--ink) !important}
#cbt-wrap .printhead .phm{font-size:12.5px; color:var(--ink-3) !important; margin-top:3px}
#cbt-wrap .resactions .dlhint{font-size:12px; color:var(--ink-3) !important}
#cbt-wrap .trchart .trcur{stroke:var(--red) !important; stroke-width:2.5; stroke-linejoin:round}
#cbt-wrap .trchart .trimp{stroke:var(--green) !important; stroke-width:2.5; stroke-dasharray:6 5; stroke-linejoin:round}
#cbt-wrap .trchart .trcurd{fill:var(--red) !important}
#cbt-wrap .trchart .trimpd{fill:var(--green) !important}
#cbt-wrap .trchart .trlab{fill:var(--red-dk) !important; font-size:13px; font-weight:700; font-family:inherit}
#cbt-wrap .trchart .traxis{fill:var(--ink-3) !important; font-size:13px; font-family:inherit}
#cbt-wrap .trkey{display:flex; gap:18px; flex-wrap:wrap; font-size:12px; color:var(--ink-2) !important}
#cbt-wrap .trkey .trk-cur{background:var(--red) !important}
#cbt-wrap .trkey .trk-imp{background:var(--green) !important}
#cbt-wrap .cmpl-ring .cmpl-bg{fill:none !important; stroke:var(--line) !important; stroke-width:8}
#cbt-wrap .cmpl-ring .cmpl-fg{fill:none !important; stroke-width:8; stroke-linecap:round; transform:rotate(-90deg); transform-origin:50% 50%; transition:stroke-dashoffset .6s ease}
#cbt-wrap .cmpl-ring .cmpl-pct{font-size:20px; font-weight:800; fill:var(--ink) !important; font-family:inherit}
#cbt-wrap .cmpl-lead{font-size:14px; color:var(--ink) !important; font-weight:600}
#cbt-wrap .cmpl-tail{font-size:13px; color:var(--ink-2) !important; margin-top:5px; line-height:1.5}
#cbt-wrap .ptr{border:1px solid var(--line) !important; border-left:3px solid var(--red); border-radius:12px; padding:14px 16px; background:#fff !important}
#cbt-wrap .ptr-fit{display:flex; align-items:flex-start; gap:9px; font-weight:700; font-size:14.5px; color:var(--ink) !important; line-height:1.4}
#cbt-wrap .ptr-ico{flex-shrink:0; width:18px; height:18px; color:var(--red) !important; margin-top:1px}
#cbt-wrap .ptr-why{font-size:13.5px; color:var(--ink-2) !important; margin:8px 0 0; line-height:1.55}
#cbt-wrap .ptr-step{font-size:13.5px; color:var(--ink) !important; margin-top:9px; line-height:1.55}
#cbt-wrap .ptr-lab{display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--red-dk) !important; margin-right:7px; vertical-align:baseline}
#cbt-wrap .ptr-tag{font-size:11.5px; color:var(--ink-3) !important; margin-top:10px; padding-top:9px; border-top:1px dashed var(--line-2) !important}
#cbt-wrap .funnel-lead{font-size:15.5px; color:var(--ink-2) !important; line-height:1.55; margin-bottom:16px}
#cbt-wrap .funnel-lead b{color:var(--ink) !important}
#cbt-wrap .funnel-lead.urgent{display:flex; gap:11px; align-items:flex-start; background:var(--amber-bg) !important; border:1px solid var(--amber-line) !important; border-radius:12px; padding:13px 15px; color:var(--ink-2) !important; font-size:14px}
#cbt-wrap .funnel-lead.urgent svg{flex-shrink:0; width:20px; height:20px; color:var(--amber) !important; margin-top:1px}
#cbt-wrap .rechero{position:relative; border:2px solid var(--red) !important; border-radius:16px; padding:20px; background:#fff !important; box-shadow:var(--shadow)}
#cbt-wrap .rh-badge{display:inline-block; background:var(--red) !important; color:#fff !important; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:5px 11px; border-radius:999px}
#cbt-wrap .rh-title{font-size:21px; font-weight:800; color:var(--ink) !important; margin-top:13px; letter-spacing:-.01em}
#cbt-wrap .rh-why{font-size:14px; color:var(--ink-2) !important; line-height:1.55; margin:7px 0 0}
#cbt-wrap .hero-tests li{display:flex; align-items:center; gap:10px; font-size:14.5px; color:var(--ink) !important}
#cbt-wrap .hero-tests .tick{flex-shrink:0; width:19px; height:19px; color:var(--red) !important}
#cbt-wrap .rh-pamt{font-size:22px; font-weight:800; color:var(--ink) !important}
#cbt-wrap .rh-psub{font-size:12px; color:var(--ink-3) !important; margin-top:2px}
#cbt-wrap .addon{display:flex; gap:9px; align-items:flex-start; margin:14px 0 0; background:var(--surf) !important; border-radius:11px; padding:12px 14px; font-size:13px; color:var(--ink-2) !important; line-height:1.5}
#cbt-wrap .addon svg{flex-shrink:0; width:17px; height:17px; color:var(--red) !important; margin-top:1px}
#cbt-wrap .otheropts>summary{cursor:pointer; list-style:none; font-size:13.5px; font-weight:600; color:var(--red-dk) !important; display:inline-flex; align-items:center; gap:6px; padding:4px 0}
#cbt-wrap .optcard{border:1px solid var(--line-2) !important; border-radius:13px; padding:15px}
#cbt-wrap .oc-h{font-weight:700; font-size:15px; color:var(--ink) !important}
#cbt-wrap .oc-price{font-size:13px; font-weight:600; color:var(--red-dk) !important; margin-top:3px}
#cbt-wrap .oc-sub{font-size:13px; color:var(--ink-2) !important; line-height:1.5; margin:8px 0 12px}
#cbt-wrap .whatnext h4, #cbt-wrap .bfaq h4{font-size:16px; font-weight:800; color:var(--ink) !important; margin:0 0 14px}
#cbt-wrap .wnnum{flex-shrink:0; width:26px; height:26px; border-radius:999px; background:var(--red) !important; color:#fff !important; font-weight:700; font-size:13px; line-height:1; display:flex; align-items:center; justify-content:center}
#cbt-wrap .wnsteps b{display:block; font-size:14.5px; color:var(--ink) !important}
#cbt-wrap .wnsteps span{display:block; font-size:13.5px; color:var(--ink-2) !important; line-height:1.5; margin-top:2px}
#cbt-wrap .trust{display:inline-flex; align-items:center; gap:7px; font-size:13px; color:var(--ink-2) !important; font-weight:500}
#cbt-wrap .trust svg{width:18px; height:18px; color:var(--green) !important}
#cbt-wrap .trustnote{flex-basis:100%; font-size:11.5px; color:var(--ink-3) !important; margin-top:2px}
#cbt-wrap .bfaq-i>summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px 0; font-size:14.5px; font-weight:600; color:var(--ink) !important}
#cbt-wrap .bfaq-i .chev{color:var(--ink-3) !important; transition:transform .2s}
#cbt-wrap .bfaq-i p{margin:0 0 14px; font-size:13.5px; color:var(--ink-2) !important; line-height:1.55}
#cbt-wrap .stickybar{position:fixed; bottom:0; left:50%; transform:translateX(-50%); width:min(680px,100%); display:flex; justify-content:space-between; align-items:center; gap:14px; padding:12px 16px; background:#fff !important; border:1px solid var(--line-2) !important; border-bottom:none !important; border-radius:16px 16px 0 0; box-shadow:0 -6px 24px rgba(34,34,34,.10); z-index:50}
#cbt-wrap .sb-name{font-size:14px; font-weight:700; color:var(--ink) !important}
#cbt-wrap .sb-price{font-size:12.5px; font-weight:600; color:var(--red-dk) !important}
#cbt-wrap .choicecard{display:block; width:100%; text-align:left; background:var(--bg) !important; border:1.5px solid var(--line-2) !important; border-radius:16px; padding:18px 18px 16px; cursor:pointer; transition:border-color .15s,box-shadow .15s,transform .05s}
#cbt-wrap .choicecard.primary{border-color:var(--red) !important; background:var(--red-04) !important}
#cbt-wrap .choicecard h3{margin:10px 0 6px; font-size:19px; color:var(--ink) !important}
#cbt-wrap .choicecard p{margin:0 0 12px; color:var(--ink-2) !important; font-size:14.5px; line-height:1.5}
#cbt-wrap .cc-tag.free{background:#eef4f1 !important; color:#127a59 !important}
#cbt-wrap .cc-tag.gp{background:var(--red-12) !important; color:var(--red-dk) !important}
#cbt-wrap .cc-go{font-weight:700; color:var(--red) !important; font-size:14.5px}
#cbt-wrap .safetynote{display:flex; gap:10px; align-items:flex-start; background:var(--red-12) !important; border:1px solid var(--red) !important; border-radius:14px; padding:14px 16px; margin:16px 0; color:var(--ink) !important; font-size:14.5px; line-height:1.5}
#cbt-wrap .qrisk-note{margin-top:14px; padding:14px 16px; background:var(--surf) !important; border:1px solid var(--line-2) !important; border-radius:12px; font-size:12px; line-height:1.55; color:var(--ink-3) !important}
#cbt-wrap .qrisk-note a{color:var(--red) !important; text-decoration:none}
#cbt-wrap .qrisk-note b{color:var(--ink-2) !important}
#cbt-wrap .shopgroup h4{font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-3) !important; margin:0 0 8px}
#cbt-wrap .prod{border:1px solid var(--line) !important; border-radius:12px; margin-bottom:8px; overflow:hidden; background:#fff !important}
#cbt-wrap .prodname{font-size:14.5px; font-weight:600; color:var(--ink) !important; display:flex; align-items:center; gap:8px; flex-wrap:wrap}
#cbt-wrap .gaptag{font-size:10px; font-weight:600; background:var(--info-bg) !important; color:var(--info) !important; padding:2px 8px; border-radius:999px; letter-spacing:.01em}
#cbt-wrap .prodprice{font-size:14px; font-weight:700; color:var(--ink-2) !important}
#cbt-wrap .prodchev{color:var(--ink-3) !important; transition:transform .2s; font-size:13px}
#cbt-wrap .proddesc p{font-size:13px; color:var(--ink-2) !important; margin:0 0 12px; line-height:1.55}
#cbt-wrap .addbtn{font-family:inherit; font-size:13px; font-weight:600; color:#fff !important; background:var(--red) !important; border:none !important; border-radius:50px; padding:10px 18px; cursor:pointer; transition:all .15s}
#cbt-wrap .addbtn:hover{background:var(--red-dk) !important}
#cbt-wrap .addbtn.added{background:var(--green-bg) !important; color:var(--green) !important}
#cbt-wrap .cartbar{position:fixed; left:0; right:0; bottom:0; background:#fff !important; border-top:1px solid var(--line) !important; box-shadow:0 -4px 18px rgba(34,34,34,.10); padding:13px 18px; display:none; justify-content:space-between; align-items:center; gap:14px; z-index:60; max-width:760px; margin:0 auto}
#cbt-wrap .cartbar .cartinfo{font-size:15px; font-weight:600; color:var(--ink) !important}
#cbt-wrap .basket li{display:flex; justify-content:space-between; align-items:center; padding:11px 0; border-bottom:1px solid var(--line) !important; font-size:14px; color:var(--ink) !important}
#cbt-wrap .bprice{display:flex; align-items:center; gap:11px; color:var(--ink-2) !important; font-weight:600}
#cbt-wrap .rm{border:none !important; background:var(--surf) !important; color:var(--ink-3) !important; width:22px; height:22px; border-radius:50%; cursor:pointer; font-size:15px; line-height:1}
#cbt-wrap .rm:hover{background:var(--red-12) !important; color:var(--red-dk) !important}
#cbt-wrap .baskettot{display:flex; justify-content:space-between; font-weight:700; font-size:15.5px; padding:13px 0 16px; color:var(--ink) !important}
#cbt-wrap .empty{font-size:13px; color:var(--ink-3) !important; padding:16px; background:var(--surf) !important; border-radius:11px; text-align:center; line-height:1.5}
#cbt-wrap .prodexp{border:none !important; background:transparent !important; color:var(--ink-3) !important; cursor:pointer; font-size:13px; padding:4px; line-height:1; transition:transform .2s}
#cbt-wrap .bundle{border:1px solid var(--line-2) !important}
#cbt-wrap .bundlesub{font-size:11.5px; font-weight:400; color:var(--ink-3) !important}
#cbt-wrap .bundleadds{font-size:13px; color:var(--ink-2) !important; line-height:1.55; margin:0 0 12px}
#cbt-wrap .bundlewhat{font-size:12px; font-weight:600; color:var(--ink-3) !important; text-transform:uppercase; letter-spacing:.04em; margin:0 0 8px}
#cbt-wrap .bundlelist .bl-desc{font-size:12px; color:var(--ink-3) !important; margin-top:2px}
#cbt-wrap .eduworkhd{font-size:12px; font-weight:600; color:var(--ink-3) !important; text-transform:uppercase; letter-spacing:.04em; margin:0 0 9px}
#cbt-wrap .ew-name{display:block; font-size:13.5px; font-weight:600; color:var(--ink) !important}
#cbt-wrap .ew-desc{display:block; font-size:12px; color:var(--ink-3) !important; margin-top:2px}
#cbt-wrap .edunote{font-size:11.5px; color:var(--ink-3) !important; line-height:1.55; margin:0; padding:11px 13px; background:var(--surf) !important; border-radius:9px}
#cbt-wrap .edu h4{font-size:15px; margin:0 0 5px; color:var(--ink) !important}
#cbt-wrap .edu p{font-size:13.5px; color:var(--ink-2) !important; line-height:1.55; margin:0}
#cbt-wrap .svc{border:1px solid var(--line) !important; border-radius:12px; padding:14px 15px; display:flex; flex-direction:column; background:#fff !important}
#cbt-wrap .svcname{font-size:14px; font-weight:600; color:var(--ink) !important}
#cbt-wrap .svcprice{font-size:13px; font-weight:600; color:var(--ink-3) !important; white-space:nowrap}
#cbt-wrap .svcdesc{font-size:12.5px; color:var(--ink-2) !important; line-height:1.5; margin:0 0 12px; flex:1}
#cbt-wrap .svcbtn{align-self:flex-start; font-family:inherit; font-size:13px; font-weight:600; color:var(--red-dk) !important; background:var(--red-04) !important; border:1px solid var(--red-12) !important; border-radius:9px; padding:9px 16px; cursor:pointer; transition:all .15s}
#cbt-wrap .svcbtn:hover{background:var(--red) !important; color:#fff !important; border-color:var(--red) !important}
}

/* ============================================================
   THEME-CONFLICT HARDENING PATCH (v1.0.1)
   Added after a WP install test surfaced 3 issues (see README).
   Placed at the end + !important on purpose: last-declared wins
   ties in the cascade, and these need to beat theme resets that
   target bare <button>/<ol>/<li> with equal-or-higher specificity.
   ============================================================ */

/* Fix 1: text overflowing instead of wrapping inside .choicecard.
   .choicecard is a <button>; many themes set a global
   `button{ white-space:nowrap }` reset for CTA styling, and
   white-space inherits down into the <p>/<h3> inside it. */
#cbt-wrap button,
#cbt-wrap .choicecard,
#cbt-wrap .choicecard * {
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* Fix 2: step-number circles fighting the theme's default <ol> marker.
   .wnsteps already has list-style:none, but a theme's typography CSS
   (e.g. "ol{list-style:decimal}") can win a specificity tie if it
   loads after our stylesheet, restoring the native numbered marker
   next to/behind our custom red circle. */
#cbt-wrap .wnsteps,
#cbt-wrap .wnsteps li {
  list-style: none !important;
}
#cbt-wrap .wnsteps li::marker {
  content: none;
}
#cbt-wrap .wnnum {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  line-height: 1 !important;
}

/* Fix 3 (print/PDF colour loss): the @page rule above is now fixed
   (it was accidentally scoped to "#cbt-wrap @page", which is invalid
   CSS and silently dropped). Reassert print colours a bit more
   forcefully in case a print/PDF plugin or theme print stylesheet
   also targets these classes with !important. */
@media print {
  #cbt-wrap .printhead,
  #cbt-wrap .printhead .pht,
  #cbt-wrap h1, #cbt-wrap h2, #cbt-wrap h3, #cbt-wrap h4 {
    color: var(--ink) !important;
  }
  #cbt-wrap .printhead {
    border-bottom-color: var(--red) !important;
  }
  #cbt-wrap * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }
}

/* ============================================================
   PRINT LAYOUT RE-ASSERTION (v1.0.3)
   Bug: the v1.0.2 colour-force block (generated from the whole
   stylesheet) blindly re-declared .card's ORIGINAL screen border/
   box-shadow/padding/margin with !important, and because it sits
   later in the file than the earlier "flatten .card for print"
   rule, it won that tie-break and silently undid it — reintroducing
   a bordered/padded/shadowed box around printed content that the
   original design never had in print. Re-asserting the intended
   print layout here, after everything else, makes it the true
   final word regardless of what any earlier block declared.
   ============================================================ */
@media print {
  #cbt-wrap .card {
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
  }
  #cbt-wrap .shell {
    max-width: none !important;
    padding: 0 !important;
  }
  #cbt-wrap .devbar,
  #cbt-wrap .topbar,
  #cbt-wrap .progress,
  #cbt-wrap .steplabel,
  #cbt-wrap .noprint,
  #cbt-wrap .nav,
  #cbt-wrap .cta-row,
  #cbt-wrap .pp,
  #cbt-wrap .sb-spacer,
  #cbt-wrap button {
    display: none !important;
  }
  #cbt-wrap .printhead {
    display: flex !important;
  }
}
/* in-page notice (replaces alert()) */
#cbt-notice{position:fixed; left:50%; bottom:24px; transform:translate(-50%,20px); max-width:min(92vw,460px); background:#fff; color:#b91c1c; border:1px solid #fecaca; border-left:4px solid #dc2626; border-radius:12px; padding:12px 16px; font-size:14px; line-height:1.45; box-shadow:0 8px 24px rgba(0,0,0,.14); opacity:0; pointer-events:none; transition:opacity .2s, transform .2s; z-index:99999; cursor:pointer}
#cbt-notice.show{opacity:1; pointer-events:auto; transform:translate(-50%,0)}


/* ============================================================
   5A CHOICE screen — redesign (Assessment Result).
   Scoped to .cbt-ch so no other screen is affected. !important is
   used only where the older #cbt-wrap .card / theme button rules
   above would otherwise win.
   ============================================================ */
#cbt-wrap .shell:has(.cbt-ch){max-width:860px}
#cbt-wrap .card.cbt-ch{background:transparent !important; border:none !important; box-shadow:none !important; padding:8px 0 0 !important; text-align:center}
#cbt-wrap .cbt-ch-title{margin:0 0 18px; font-size:clamp(34px,6vw,56px); font-weight:500; line-height:1.05; letter-spacing:-.02em; color:var(--red) !important}
#cbt-wrap .cbt-ch-q{margin:0 auto 12px; max-width:44ch; font-size:clamp(20px,3vw,26px); font-weight:500; line-height:1.3; letter-spacing:-.01em; color:var(--ink) !important}
#cbt-wrap .cbt-ch-lede{margin:0 auto 26px; max-width:54ch; font-size:15.5px; line-height:1.6; color:var(--ink-3) !important}
#cbt-wrap .cbt-ch-note{margin:0 0 26px; padding:6px 0 6px 20px; border-left:3px solid var(--red); text-align:left; font-size:13.5px; line-height:1.6; color:var(--ink-3) !important}
#cbt-wrap .cbt-ch-note strong{color:var(--ink) !important; font-weight:600}
#cbt-wrap .cbt-ch-note b{color:var(--red) !important; font-weight:600}

#cbt-wrap .cbt-ch-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; text-align:left}
@media (max-width:680px){ #cbt-wrap .cbt-ch-grid{grid-template-columns:minmax(0,1fr); gap:16px} }

#cbt-wrap .cbt-ch-card{display:flex !important; flex-direction:column; align-items:flex-start; width:100%; min-height:390px; margin:0; padding:clamp(22px,3.4vw,34px) clamp(20px,3vw,28px) clamp(22px,3vw,30px) !important;
  border-radius:0 !important; text-align:left; font-family:inherit; line-height:1.5; cursor:pointer; box-shadow:none !important; transition:box-shadow .15s, transform .05s}
#cbt-wrap .cbt-ch-card:hover{box-shadow:0 10px 28px rgba(34,34,34,.08) !important}
#cbt-wrap .cbt-ch-card:active{transform:translateY(1px)}
#cbt-wrap .cbt-ch-card:focus-visible{outline:3px solid rgba(255,51,51,.35); outline-offset:3px}
#cbt-wrap .cbt-ch-card.is-free{background:#fff !important; border:1px solid #ECEAE6 !important; color:var(--ink) !important}
#cbt-wrap .cbt-ch-card.is-gp{background:var(--red) !important; border:1px solid var(--red) !important; color:#fff !important}
@media (max-width:680px){ #cbt-wrap .cbt-ch-card{min-height:0} }

#cbt-wrap .cbt-ch-tag{display:inline-block; margin-bottom:14px; padding:5px 10px; font-size:12px; font-weight:500; line-height:1; border-radius:0}
#cbt-wrap .is-free .cbt-ch-tag{background:var(--red-12) !important; color:var(--red) !important}
#cbt-wrap .is-gp .cbt-ch-tag{background:#fff !important; color:var(--ink) !important}

#cbt-wrap .cbt-ch-h{display:block; margin:0 0 16px; font-size:clamp(24px,3vw,28px); font-weight:500; line-height:1.25; letter-spacing:-.01em}
#cbt-wrap .is-free .cbt-ch-h{color:var(--ink) !important}
#cbt-wrap .is-gp .cbt-ch-h{color:#fff !important}
#cbt-wrap .cbt-ch-p{display:block; font-size:14px; line-height:1.6; color:var(--ink-3) !important}

#cbt-wrap .cbt-ch-list{display:flex; flex-direction:column; gap:3px}
#cbt-wrap .cbt-ch-list em{font-style:normal; min-width:0}
#cbt-wrap .cbt-ch-list > span{display:flex; align-items:center; gap:10px; font-size:14px; line-height:1.5; color:#fff !important}
#cbt-wrap .cbt-ch-list b{font-weight:600; color:#fff !important}
#cbt-wrap .cbt-ch-list svg{width:14px; height:14px; flex-shrink:0}

/* CTA looks like a button but is a <span> inside the card <button>
   (nested buttons are invalid HTML); the whole card is the click target. */
#cbt-wrap .cbt-ch-cta{display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:56px; margin-top:auto; padding:12px 20px; border-radius:999px; background:#fff; font-size:15px; font-weight:600; line-height:1.2; text-align:center}
#cbt-wrap .cbt-ch-p + .cbt-ch-cta, #cbt-wrap .cbt-ch-list + .cbt-ch-cta{margin-top:auto; position:relative; top:0}
#cbt-wrap .cbt-ch-card > .cbt-ch-cta{margin-top:auto}
#cbt-wrap .cbt-ch-card .cbt-ch-list, #cbt-wrap .cbt-ch-card .cbt-ch-p{margin-bottom:30px}
#cbt-wrap .is-free .cbt-ch-cta{border:1px solid #ECEAE6; color:var(--ink) !important}
#cbt-wrap .is-gp .cbt-ch-cta{border:1px solid #fff; color:var(--red) !important}
#cbt-wrap .cbt-ch-cta svg{width:16px; height:16px; flex-shrink:0}

#cbt-wrap .cbt-ch-foot{display:flex; justify-content:center; margin-top:28px}
#cbt-wrap .btn.ghost.cbt-ch-again{min-width:260px; min-height:56px; border-radius:999px; color:var(--ink) !important; border-color:#ECEAE6 !important; font-weight:600}
@media (max-width:480px){ #cbt-wrap .btn.ghost.cbt-ch-again{width:100%; min-width:0} }