/* =========================================================
   Buzzlect AEO & GEO course
   Every rule is scoped under .bzc so nothing reaches the theme's
   header, footer or other pages. Colours and fonts come from the
   active theme's variables (Mosaic: --red, --white = ink, --grey,
   --border, --black-2), with fallbacks if a variable is missing.
   ========================================================= */

.bzc{
  --bzc-ink:var(--white,#222521); --bzc-muted:var(--grey,#565b53); --bzc-line:var(--border,#e3e7df);
  --bzc-surface:#ffffff; --bzc-panel:var(--black-2,#f4f7f2);
  --bzc-accent:var(--red,#d8392b); --bzc-accent-deep:var(--red-deep,#a81f17); --bzc-accent-soft:#fbeae6;
  --bzc-good:#1f7a3f; --bzc-warn:#8a5a00; --bzc-bad:#b23b2e;
  --bzc-display:var(--font-display,"Sora",system-ui,sans-serif);
  --bzc-body:var(--font-body,"Inter",system-ui,sans-serif);
  --bzc-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:22px;
  color:var(--bzc-ink);font-family:var(--bzc-body);font-size:16px;line-height:1.6;text-align:left
}
.bzc *{box-sizing:border-box}
.bzc .bzc-h2,.bzc .sheet h2{font:700 clamp(1.3rem,3.6vw,1.65rem)/1.2 var(--bzc-display);margin:0;color:var(--bzc-ink)}
.bzc h3{font:600 .74rem var(--bzc-body);letter-spacing:.09em;text-transform:uppercase;color:var(--bzc-muted);margin:0}
.bzc p{margin:0}
.bzc .label{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--bzc-muted);font-weight:600}
.bzc .meta{color:var(--bzc-muted);font-size:.85rem}
.bzc .mono{font-family:var(--bzc-mono);font-variant-numeric:tabular-nums}
.bzc .good{color:var(--bzc-good)} .bzc .warn{color:var(--bzc-warn)} .bzc .bad{color:var(--bzc-bad)}
.bzc [hidden]{display:none!important}

/* Progress bar */
.bzc .bar{flex:1;height:8px;background:var(--bzc-line);border-radius:99px;overflow:hidden}
.bzc .bar i{display:block;height:100%;background:var(--bzc-accent);width:0}

/* Tables */
.bzc .tbl{overflow-x:auto}
.bzc table{border-collapse:collapse;width:100%;font-size:.92rem;margin:0;background:none;border:0}
.bzc td,.bzc th{text-align:left;border:0;border-bottom:1px solid var(--bzc-line);padding:7px 6px;vertical-align:top;background:none;color:var(--bzc-ink)}
.bzc th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--bzc-muted);font-weight:600}


/* Lesson sheet */
.bzc .sheet{background:var(--bzc-surface);border:1px solid var(--bzc-line);border-left:5px solid var(--bzc-accent);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:18px;min-width:0;scroll-margin-top:100px}
.bzc .sheet p{max-width:68ch}
.bzc .sheet ul,.bzc .sheet ol{margin:6px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px;list-style:disc}
.bzc .sheet li{margin:0;color:var(--bzc-ink)}
.bzc .term{font-weight:600}
.bzc .example{background:var(--bzc-panel);border-radius:10px;padding:12px 14px}
.bzc pre{background:var(--bzc-panel);color:var(--bzc-ink);border:0;border-radius:10px;padding:12px 14px;overflow-x:auto;font:13px/1.5 var(--bzc-mono);margin:6px 0 0;white-space:pre}
.bzc .task{background:var(--bzc-accent-soft);border-radius:10px;padding:12px 14px}

/* Buttons */
.bzc .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.bzc button.btn{font:600 .92rem var(--bzc-body);border-radius:10px;padding:9px 14px;cursor:pointer;border:1px solid var(--bzc-line);background:var(--bzc-surface);color:var(--bzc-ink);text-transform:none;letter-spacing:0;box-shadow:none;width:auto;line-height:1.3}
.bzc button.btn:hover{border-color:var(--bzc-accent)}
.bzc button.primary{background:var(--bzc-accent);color:#fff;border-color:var(--bzc-accent)}
.bzc button.primary:hover{background:var(--bzc-accent-deep);border-color:var(--bzc-accent-deep)}
.bzc button:focus-visible,.bzc a:focus-visible,.bzc input:focus-visible,.bzc textarea:focus-visible{outline:2px solid var(--bzc-accent-deep);outline-offset:2px}

/* Quiz */
.bzc .quiz{display:flex;flex-direction:column;gap:14px}
.bzc .mcq{display:flex;flex-direction:column;gap:6px}
.bzc .mcq .q{font-weight:600}
.bzc .opt{display:flex;gap:8px;align-items:flex-start;text-align:left;background:var(--bzc-panel);border:1px solid var(--bzc-line);border-radius:10px;padding:9px 12px;cursor:pointer;color:var(--bzc-ink);font:inherit;width:100%;box-shadow:none;text-transform:none;letter-spacing:0}
.bzc .opt:hover:not(:disabled){border-color:var(--bzc-accent)}
.bzc .opt.right{border-color:var(--bzc-good);box-shadow:inset 0 0 0 1px var(--bzc-good)}
.bzc .opt.wrong{border-color:var(--bzc-bad);box-shadow:inset 0 0 0 1px var(--bzc-bad)}
.bzc .opt:disabled{cursor:default;opacity:1;color:var(--bzc-ink)}
.bzc .why{font-size:.9rem;color:var(--bzc-muted)}

/* Written answers */
.bzc textarea{width:100%;min-height:150px;resize:vertical;font:16px/1.5 var(--bzc-body);color:var(--bzc-ink);background:var(--bzc-panel);border:1px solid var(--bzc-line);border-radius:10px;padding:12px;margin:0}
.bzc .wq{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--bzc-line);padding-top:14px}
.bzc .wq:first-of-type{border-top:0;padding-top:0}
.bzc .score{font:600 1.6rem var(--bzc-mono)}
.bzc .pts{list-style:none!important;padding-left:0!important}
.bzc .pts li{display:flex;gap:8px}
.bzc .fbBox{background:var(--bzc-panel);border-radius:10px;padding:12px 14px;white-space:pre-wrap;min-width:0}
.bzc .model{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.bzc .model.open{border-left:4px solid var(--bzc-good);padding-left:12px}
.bzc .model summary{cursor:pointer;font-weight:600;color:var(--bzc-accent-deep)}
.bzc .model details .fbBox{margin-top:8px}

/* Daily progress */
.bzc .daily{display:flex;flex-direction:column;gap:12px}
.bzc .daily input{width:4.5em;font:600 .9rem var(--bzc-mono);color:var(--bzc-ink);background:var(--bzc-surface);border:1px solid var(--bzc-line);border-radius:8px;padding:4px 6px;margin:0 4px;display:inline-block}
.bzc .tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.bzc .tile{background:var(--bzc-surface);border:1px solid var(--bzc-line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.bzc .tile b{font-size:1.35rem;font-weight:600;color:var(--bzc-ink)}
.bzc .tile .meta{font-size:.75rem;line-height:1.3}
.bzc .dchart{position:relative;display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:4px;background:var(--bzc-surface);border:1px solid var(--bzc-line);border-radius:12px;padding:12px 10px 8px}
.bzc .dcol{display:flex;flex-direction:column;align-items:center;min-width:0}
.bzc .dbars{height:110px;width:100%;max-width:22px;display:flex;flex-direction:column-reverse;gap:2px}
.bzc .dbars i{display:block;border-radius:3px 3px 0 0}
.bzc .dbars .c{background:var(--bzc-good)}
.bzc .dbars .w{background:var(--bzc-bad);opacity:.55}
.bzc .dcol span{height:20px;line-height:20px;font:600 .7rem var(--bzc-mono);color:var(--bzc-muted)}
.bzc .dcol span.today{color:var(--bzc-ink);font-weight:700}
.bzc .dchart .goal{position:absolute;left:8px;right:8px;border-top:1.5px dashed var(--bzc-accent);pointer-events:none}
.bzc .key{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px;margin-left:4px}
.bzc .key.c{background:var(--bzc-good)} .bzc .key.w{background:var(--bzc-bad);opacity:.55}
.bzc .key.g{height:0;border-top:1.5px dashed var(--bzc-accent);width:14px;border-radius:0}

/* Audit call to action + lead form */
.bzc .cta{background:var(--bzc-panel);border:1px solid var(--bzc-line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:12px}
.bzc .cta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bzc .cta label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:var(--bzc-ink)}
.bzc .cta input[type=text],.bzc .cta input[type=email],.bzc .cta input[type=url]{width:100%;font:16px var(--bzc-body);color:var(--bzc-ink);background:var(--bzc-surface);border:1px solid var(--bzc-line);border-radius:10px;padding:10px 12px;margin:0}
.bzc .cta a.btn-link{color:var(--bzc-accent-deep);font-weight:600}
.bzc .notice{border-radius:10px;padding:10px 14px;font-weight:600}
.bzc .notice.ok{background:#e7f4ec;color:var(--bzc-good)}
.bzc .notice.err{background:#fbeae6;color:var(--bzc-bad)}


@media (max-width:640px){
  .bzc .cta-grid{grid-template-columns:1fr}
  .bzc .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bzc .sheet,.bzc .cta{padding:16px}
}

/* =========================================================
   Landing page (visitors who haven't unlocked the course)
   Colours: brand red for headline accents and the main button;
   light shades of the Mosaic tiles (coral / teal / purple) for the
   three levels. Every rule is scoped under .bzc-land.
   ========================================================= */
.bzc.bzc-land{max-width:none;margin:0;gap:0;display:block;font-size:16px}
.bzc-land .lv-foundation{--lv:var(--t-lime,#e8533f);--lv-deep:#b83a28;--lv-soft:#fdf0ed;--lv-mid:#f9d9d3}
.bzc-land .lv-advanced{--lv:var(--t-teal,#00a39c);--lv-deep:#00746f;--lv-soft:#e9f7f6;--lv-mid:#c4eae7}
.bzc-land .lv-expert{--lv:var(--t-purple,#7a4f9e);--lv-deep:#5b2d8e;--lv-soft:#f4eff8;--lv-mid:#e0d4ea}
.bzc-land .land-sec{padding:64px 0}
.bzc-land .land-wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.bzc-land ul,.bzc-land ol{list-style:none;margin:0;padding:0}
.bzc-land svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.bzc-land .eyebrow{font:700 .74rem var(--bzc-body);letter-spacing:.14em;text-transform:uppercase;color:var(--bzc-accent);margin-bottom:12px}
.bzc-land h1,.bzc-land .land-h2,.bzc-land .join-copy h2{font-family:var(--bzc-display);color:var(--bzc-ink);letter-spacing:-.02em;margin:0;text-transform:none}
.bzc-land em{font-style:normal;color:var(--bzc-accent)}
.bzc-land .land-h2{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;line-height:1.1}
.bzc-land .land-h2.center{text-align:center}
.bzc-land .land-lead{color:var(--bzc-muted);font-size:1.05rem;margin-top:12px;max-width:520px}

/* Hero */
/* The theme's header is fixed (about 76px), so the hero starts below it, as the theme's .page-hero does. */
.bzc-land .land-hero{padding:8.5rem 0 64px}
.bzc-land .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:48px;align-items:center}
.bzc-land h1{font-size:clamp(2.5rem,6vw,4.1rem);font-weight:800;line-height:1.02}
.bzc-land .hero-sub{font-size:1.2rem;color:var(--bzc-muted);margin-top:18px;max-width:470px;line-height:1.5}
.bzc-land .hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:28px}
.bzc-land .land-btn{display:inline-flex;align-items:center;gap:8px;background:var(--bzc-accent);color:#fff;font-weight:700;padding:15px 28px;border-radius:10px;text-decoration:none;box-shadow:0 12px 24px -12px rgba(216,57,43,.7)}
.bzc-land .land-btn:hover{background:var(--bzc-accent-deep);color:#fff}
.bzc-land .land-link{color:var(--bzc-ink);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.bzc-land .hero-stats{display:flex;flex-wrap:wrap;gap:12px 0;margin-top:36px}
.bzc-land .hero-stats li{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.92rem;padding:0 22px;border-left:1px solid var(--bzc-line)}
.bzc-land .hero-stats li:first-child{padding-left:0;border-left:0}

/* Hero picture of the course app */
.bzc-land .hero-mock{position:relative;background:var(--bzc-surface);border:1px solid var(--bzc-line);border-radius:16px;box-shadow:0 30px 60px -30px rgba(34,37,33,.35);font-size:.8rem}
.bzc-land .mk-top{display:flex;align-items:center;gap:24px;padding:12px 16px;border-bottom:1px solid var(--bzc-line);font-size:.75rem;color:var(--bzc-muted)}
.bzc-land .mk-top b{font:800 1rem var(--bzc-display);color:var(--bzc-ink)}
.bzc-land .mk-top b span{color:var(--bzc-accent)}
.bzc-land .mk-body{display:grid;grid-template-columns:110px minmax(0,1fr)}
.bzc-land .mk-side{display:flex;flex-direction:column;gap:6px;padding:14px 10px;border-right:1px solid var(--bzc-line)}
.bzc-land .mk-side span{padding:7px 10px;border-radius:8px;font-weight:600;color:var(--bzc-muted)}
.bzc-land .mk-side .on{background:var(--bzc-accent);color:#fff}
.bzc-land .mk-main{padding:16px 18px;display:flex;flex-direction:column;gap:6px;min-width:0}
.bzc-land .mk-label{font-size:.72rem;color:var(--bzc-muted);font-weight:600}
.bzc-land .mk-title{font:800 1.25rem/1.2 var(--bzc-display);color:var(--bzc-ink)}
.bzc-land .mk-sub{color:var(--bzc-muted)}
.bzc-land .mk-diagram{margin-top:8px;border:1px dashed var(--bzc-line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;background:#fbfbf9}
.bzc-land .mk-q{align-self:center;background:var(--bzc-surface);border:1px solid var(--bzc-line);border-radius:99px;padding:5px 14px;color:var(--bzc-muted)}
.bzc-land .mk-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:12px;align-items:center}
.bzc-land .mk-answer{background:var(--bzc-surface);border:1px solid var(--bzc-line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px;box-shadow:0 8px 16px -12px rgba(34,37,33,.4)}
.bzc-land .mk-answer span{color:#00746f;font-weight:700;font-size:.72rem}
.bzc-land .mk-answer i{display:block;height:6px;border-radius:9px;background:var(--bzc-line)}
.bzc-land .mk-answer i.s{width:60%}
.bzc-land .mk-steps{display:flex;flex-direction:column;gap:7px;counter-reset:mk}
.bzc-land .mk-steps li{display:flex;gap:8px;align-items:center;line-height:1.25;counter-increment:mk}
.bzc-land .mk-steps li::before{content:counter(mk);flex:none;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:.65rem;font-weight:700;background:var(--t-teal,#00a39c)}
.bzc-land .mk-steps li:nth-child(2)::before{background:var(--t-lime,#e8533f)}
.bzc-land .mk-steps li:nth-child(3)::before{background:var(--t-purple,#7a4f9e)}
.bzc-land .mk-sources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bzc-land .mk-sources span{background:var(--bzc-surface);border:1px solid var(--bzc-line);border-radius:8px;padding:6px 8px;font-weight:600;font-size:.72rem}
.bzc-land .mk-sources .you{border-color:var(--bzc-accent);color:var(--bzc-accent-deep)}
.bzc-land .mk-foot{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:.72rem;color:var(--bzc-muted)}
.bzc-land .mk-foot i{flex:1;height:5px;border-radius:9px;background:var(--bzc-line)}
.bzc-land .mk-foot i b{display:block;width:12%;height:100%;border-radius:9px;background:var(--bzc-accent)}
.bzc-land .mk-foot .nx{color:var(--bzc-accent-deep);font-weight:700}
.bzc-land .mk-quiz{position:absolute;top:56px;right:-18px;background:var(--bzc-accent);color:#fff;border-radius:12px;padding:10px 16px;display:flex;flex-direction:column;box-shadow:0 14px 28px -12px rgba(216,57,43,.7)}
.bzc-land .mk-quiz b{font-size:.9rem}
.bzc-land .mk-quiz span{font-size:.72rem;opacity:.9}

/* Path */
.bzc-land .land-path{padding-top:24px}
.bzc-land .rule-label{display:flex;align-items:center;gap:16px;margin-bottom:22px;font:700 .72rem var(--bzc-body);letter-spacing:.16em;text-transform:uppercase;color:var(--bzc-muted)}
.bzc-land .rule-label::before,.bzc-land .rule-label::after{content:"";flex:1;height:1px;background:var(--bzc-line)}
.bzc-land .path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:36px}
.bzc-land .path-card{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:16px;background:var(--lv-soft);border:1px solid var(--lv-mid);text-decoration:none;color:var(--bzc-ink);transition:transform .15s ease,box-shadow .15s ease}
.bzc-land .path-card:hover{transform:translateY(-3px);box-shadow:0 18px 30px -22px rgba(34,37,33,.45);color:var(--bzc-ink)}
.bzc-land .pc-top{display:flex;justify-content:space-between;align-items:flex-start;color:var(--lv)}
.bzc-land .pc-img{width:120px;height:80px;object-fit:cover;border-radius:12px;border:3px solid #fff;box-shadow:0 10px 20px -12px rgba(34,37,33,.45);flex:none}
.bzc-land .pc-num{font:300 2.4rem/1 var(--bzc-display);color:var(--lv)}
.bzc-land .pc-name{font:800 1.35rem var(--bzc-display);margin-top:8px}
.bzc-land .pc-line{color:var(--bzc-muted)}
.bzc-land .pc-count{font-weight:700;color:var(--lv-deep);margin-top:6px}

/* Skills + sample quiz */
.bzc-land .land-skills{padding-top:24px}
.bzc-land .skills-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:start}
.bzc-land .skill-list{margin-top:28px;display:flex;flex-direction:column}
.bzc-land .skill-list li{display:flex;gap:18px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--bzc-line)}
.bzc-land .skill-list li:first-child{border-top:0}
.bzc-land .sk-ic{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;flex:none;background:#fdf0ed;color:var(--bzc-accent)}
.bzc-land .skill-list strong{display:block;font-size:1.02rem;color:var(--bzc-ink);margin-bottom:2px}
.bzc-land .skill-list li>span:last-child{color:var(--bzc-muted);font-size:.93rem}
.bzc-land .quiz-card{display:grid;grid-template-columns:minmax(0,1fr) 180px;background:var(--bzc-surface);border:1px solid var(--bzc-line);border-radius:16px;box-shadow:0 30px 60px -34px rgba(34,37,33,.35);overflow:hidden}
.bzc-land .qc-main{padding:20px;display:flex;flex-direction:column;gap:8px;min-width:0}
.bzc-land .qc-title{font:800 1.2rem var(--bzc-display);color:var(--bzc-ink)}
.bzc-land .qc-q{font-size:.92rem;margin:2px 0 4px}
.bzc-land .qc-opts{display:flex;flex-direction:column;gap:7px}
.bzc-land .qc-opts li{display:flex;align-items:center;gap:10px;border:1px solid var(--bzc-line);border-radius:9px;padding:8px 10px;font-size:.84rem;line-height:1.3}
.bzc-land .qc-opts b{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--bzc-line);font-size:.7rem;color:var(--bzc-muted)}
.bzc-land .qc-opts li.ok{border-color:var(--t-teal,#00a39c);background:#e9f7f6}
.bzc-land .qc-opts li.ok b{border-color:var(--t-teal,#00a39c);color:#00746f}
.bzc-land .qc-opts .tick{margin-left:auto;flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--t-teal,#00a39c);color:#fff;font-size:.7rem}
.bzc-land .qc-why{margin-top:6px;background:#fdf0ed;border:1px solid #f9d9d3;border-radius:10px;padding:10px 12px;font-size:.82rem;line-height:1.4}
.bzc-land .qc-why strong{color:var(--bzc-accent-deep)}
.bzc-land .qc-side{background:#fbfbf9;border-left:1px solid var(--bzc-line);padding:20px 16px;display:flex;flex-direction:column;gap:10px;font-size:.8rem}
.bzc-land .qc-side-h{font-weight:700;color:var(--bzc-ink)}
.bzc-land .qc-side ul{display:flex;flex-direction:column;gap:9px}
.bzc-land .qc-side li{display:flex;align-items:center;gap:8px;color:var(--bzc-muted)}
.bzc-land .qc-side li::before{content:"";flex:none;width:14px;height:14px;border-radius:50%;border:1.5px solid var(--bzc-line)}
.bzc-land .qc-side li.d::before{background:var(--bzc-muted);border-color:var(--bzc-muted);box-shadow:inset 0 0 0 3px #fbfbf9}
.bzc-land .qc-side li.c{color:var(--bzc-ink);font-weight:600}
.bzc-land .qc-side li.c::before{background:var(--bzc-accent);border-color:var(--bzc-accent);box-shadow:inset 0 0 0 3px #fbfbf9}
.bzc-land .qc-note{color:var(--bzc-muted);line-height:1.4}

/* Roadmap */
.bzc-land .roadmap{padding-top:24px}
.bzc-land .rm-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 32px;margin-bottom:24px}
.bzc-land .rm-note{color:var(--bzc-muted);max-width:360px;font-size:.92rem}
.bzc-land .rm-level{border:1px solid var(--lv-mid);border-radius:14px;background:var(--bzc-surface);margin-top:14px;overflow:hidden}
.bzc-land .rm-level summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:22px;padding:18px 22px;background:var(--lv-soft)}
.bzc-land .rm-level summary::-webkit-details-marker{display:none}
.bzc-land .rm-num{font:600 1.35rem var(--bzc-display);color:var(--lv)}
.bzc-land .rm-name{font:800 1.2rem var(--bzc-display);color:var(--bzc-ink);min-width:110px}
.bzc-land .rm-line{color:var(--bzc-muted);flex:1}
.bzc-land .rm-count{color:var(--bzc-muted);font-size:.86rem;white-space:nowrap}
.bzc-land .rm-toggle{position:relative;width:16px;height:16px;flex:none;margin-left:6px}
.bzc-land .rm-toggle::before,.bzc-land .rm-toggle::after{content:"";position:absolute;left:0;right:0;top:7px;height:2px;border-radius:2px;background:var(--lv-deep)}
.bzc-land .rm-toggle::after{transform:rotate(90deg);transition:transform .15s ease}
.bzc-land .rm-level[open] .rm-toggle::after{transform:rotate(0)}
.bzc-land .rm-level ol{padding:4px 22px 8px}
.bzc-land .rm-level li{display:grid;grid-template-columns:44px minmax(0,1.4fr) minmax(0,1fr) 92px;gap:14px;align-items:center;padding:13px 0;border-top:1px solid var(--bzc-line)}
.bzc-land .rm-level li:first-child{border-top:0}
.bzc-land .rm-n{color:var(--lv-deep);font-weight:700}
.bzc-land .rm-t{display:flex;flex-direction:column;line-height:1.35}
.bzc-land .rm-t strong{font-weight:600;color:var(--bzc-ink)}
.bzc-land .rm-t span{color:var(--bzc-muted);font-size:.84rem}
.bzc-land .rm-parts{color:var(--bzc-muted);font-size:.84rem}
.bzc-land .rm-days{text-align:right;color:var(--bzc-muted);font-size:.86rem}

/* Join (dark band with the forms) */
.bzc-land .land-join{background:var(--bzc-ink);color:#fff;margin-top:24px}
.bzc-land .join-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:48px;align-items:center}
.bzc-land .join-copy h2{color:#fff;font-size:clamp(2rem,4.5vw,3rem);font-weight:800;line-height:1.08}
.bzc-land .join-copy p{color:rgba(255,255,255,.75);margin-top:14px;font-size:1.05rem;max-width:460px}
.bzc-land .join-forms{display:flex;flex-direction:column;gap:12px}
.bzc-land .join-forms .cta{background:var(--bzc-surface);border:0;color:var(--bzc-ink)}
.bzc-land .join-forms .cta-grid{grid-template-columns:1fr}
.bzc-land .join-forms button.primary{width:100%;padding:13px 16px;font-size:1rem}
.bzc-land .signin-box summary{list-style:none;cursor:pointer;text-align:center;color:rgba(255,255,255,.85);padding:4px}
.bzc-land .signin-box summary::-webkit-details-marker{display:none}
.bzc-land .signin-box summary u{color:#fff;text-underline-offset:3px}
.bzc-land .signin-box[open] summary{margin-bottom:10px}


@media (max-width:900px){
  .bzc-land .hero-grid,.bzc-land .skills-grid,.bzc-land .join-grid{grid-template-columns:1fr;gap:36px}
  .bzc-land .hero-mock{max-width:560px}
  .bzc-land .mk-quiz{right:12px;top:-16px}
  .bzc-land .path-grid{grid-template-columns:1fr;gap:14px}
  .bzc-land .rm-level li{grid-template-columns:36px minmax(0,1fr) 80px}
  .bzc-land .rm-parts{display:none}

}
@media (max-width:640px){
  .bzc-land .land-sec{padding:44px 0}
  .bzc-land .land-hero{padding-top:7rem}
  .bzc-land .land-wrap{padding:0 16px}
  .bzc-land .mk-body{grid-template-columns:1fr}
  .bzc-land .mk-side{flex-direction:row;border-right:0;border-bottom:1px solid var(--bzc-line);padding:10px}
  .bzc-land .mk-row{grid-template-columns:1fr}
  .bzc-land .quiz-card{grid-template-columns:1fr}
  .bzc-land .qc-side{border-left:0;border-top:1px solid var(--bzc-line)}
  .bzc-land .rm-level summary{flex-wrap:wrap;gap:4px 12px;padding:14px 16px}
  .bzc-land .rm-name{min-width:0}
  .bzc-land .rm-toggle{order:4;margin-left:auto}
  .bzc-land .rm-line{flex-basis:100%;order:5;font-size:.88rem}
  .bzc-land .rm-count{order:6;flex-basis:100%;font-size:.8rem}
  .bzc-land .rm-level ol{padding:2px 16px 6px}
  .bzc-land .rm-level li{grid-template-columns:30px minmax(0,1fr);row-gap:2px}
  .bzc-land .rm-days{grid-column:2;text-align:left;font-size:.8rem}
  .bzc-land .hero-stats li{padding:0 14px}
}

/* =========================================================
   Course workspace (subscribers): roadmap | module | progress
   Same colour rules as the landing page: brand red for actions and
   progress, light shades of the Mosaic tiles for the three levels.
   ========================================================= */
.bzc.bzc-ws{max-width:none;margin:0;gap:0;display:block;padding:6.5rem 0 56px;background:#f7f7f4}
.bzc-ws .lv-foundation{--lv:var(--t-lime,#e8533f);--lv-deep:#b83a28;--lv-soft:#fdf0ed;--lv-mid:#f9d9d3}
.bzc-ws .lv-advanced{--lv:var(--t-teal,#00a39c);--lv-deep:#00746f;--lv-soft:#e9f7f6;--lv-mid:#c4eae7}
.bzc-ws .lv-expert{--lv:var(--t-purple,#7a4f9e);--lv-deep:#5b2d8e;--lv-soft:#f4eff8;--lv-mid:#e0d4ea}
.bzc-ws .ws-wrap{max-width:1320px;margin:0 auto;padding:0 24px}
.bzc-ws svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.bzc-ws ol,.bzc-ws ul.ticks{list-style:none;margin:0;padding:0}
.bzc-ws .ws-card{background:var(--bzc-surface);border:1px solid var(--bzc-line);border-radius:16px;padding:20px;box-shadow:0 12px 28px -26px rgba(34,37,33,.45)}
.bzc-ws .ws-h{font:800 1.15rem var(--bzc-display);color:var(--bzc-ink);margin:0;text-transform:none;letter-spacing:-.01em}
.bzc-ws .ws-h-ic{display:flex;align-items:center;gap:10px}
.bzc-ws .ws-meta{color:var(--bzc-muted);font-size:.85rem;margin:0}
.bzc-ws .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Messages */
.bzc-ws .ws-alerts{margin:-6.5rem 0 1.5rem;padding-top:76px}
.bzc-ws .ws-alert{border-bottom:1px solid var(--bzc-line)}
.bzc-ws .ws-alert.err{background:#fdf0ed}
.bzc-ws .ws-alert.ok{background:#e9f6ee}
.bzc-ws .ws-alert.info{background:#fdf0ed}
.bzc-ws .ws-alert-in{display:flex;align-items:center;gap:12px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.bzc-ws .ws-alert-ic{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.8rem;background:var(--bzc-accent)}
.bzc-ws .ws-alert.ok .ws-alert-ic{background:var(--bzc-good)}
.bzc-ws .ws-alert-tx{flex:1;min-width:200px;font-size:.93rem;color:var(--bzc-ink)}
.bzc-ws .ws-alert form{margin:0}
.bzc-ws .ws-alert-btn{font:700 .85rem var(--bzc-body);color:var(--bzc-accent-deep);background:var(--bzc-surface);border:1.5px solid var(--bzc-accent);border-radius:9px;padding:8px 14px;cursor:pointer;text-transform:none;letter-spacing:0;box-shadow:none;width:auto}
.bzc-ws .ws-alert-btn:hover{background:var(--bzc-accent);color:#fff}
.bzc-ws .ws-confirm{margin-bottom:20px}

/* Grid */
.bzc-ws .ws-grid{display:grid;grid-template-columns:280px minmax(0,1fr) 300px;gap:24px;align-items:start}
.bzc-ws .ws-road,.bzc-ws .ws-side{position:sticky;top:96px}
.bzc-ws .ws-side{display:flex;flex-direction:column;gap:18px}

/* Left: roadmap */
.bzc-ws .ws-road .bar{margin:12px 0 18px}
.bzc-ws .ws-index{display:flex;flex-direction:column;gap:10px}
.bzc-ws .rd-lv{border-radius:12px;background:var(--lv-soft);border:1px solid var(--lv-mid);overflow:hidden}
.bzc-ws .rd-head{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:none;border:0;cursor:pointer;text-align:left;font:inherit;color:var(--bzc-ink);box-shadow:none;text-transform:none;letter-spacing:0}
.bzc-ws .rd-av{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--lv);color:#fff;font-weight:800}
.bzc-ws .rd-tx{flex:1;display:flex;flex-direction:column;line-height:1.25}
.bzc-ws .rd-tx b{font-weight:700}
.bzc-ws .rd-tx small{color:var(--bzc-muted);font-size:.8rem}
.bzc-ws .rd-chev{width:9px;height:9px;border-right:2px solid var(--lv-deep);border-bottom:2px solid var(--lv-deep);transform:rotate(-45deg);margin-right:4px;transition:transform .15s}
.bzc-ws .rd-lv.open .rd-chev{transform:rotate(-135deg)}
.bzc-ws .rd-list{background:var(--bzc-surface);padding:6px}
.bzc-ws .rd-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 8px;border:0;border-radius:9px;background:none;cursor:pointer;text-align:left;font:inherit;font-size:.86rem;color:var(--bzc-muted);box-shadow:none;text-transform:none;letter-spacing:0}
.bzc-ws .rd-item:hover{background:#f7f7f4;color:var(--bzc-ink)}
.bzc-ws .rd-dot{flex:none;width:18px;height:18px;border-radius:50%;border:2px solid #cfd2cb;display:grid;place-items:center}
.bzc-ws .rd-item.done .rd-dot{background:var(--bzc-accent);border-color:var(--bzc-accent)}
.bzc-ws .rd-item.done .rd-dot::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.bzc-ws .rd-item.cur{background:var(--lv-soft);color:var(--lv-deep);font-weight:600}
.bzc-ws .rd-item.cur .rd-dot{border-color:var(--lv);box-shadow:inset 0 0 0 3px #fff;background:var(--lv)}
.bzc-ws .rd-n{flex:none;font:600 .78rem var(--bzc-mono);opacity:.8}
.bzc-ws .rd-t{line-height:1.3}

/* Middle: module */
.bzc-ws .ws-crumb{font-size:.82rem;color:var(--bzc-muted);margin:2px 0 6px;white-space:pre}
.bzc-ws .ws-title{font:800 clamp(1.7rem,3.2vw,2.5rem)/1.1 var(--bzc-display);letter-spacing:-.02em;color:var(--bzc-ink);margin:0;text-transform:none}
.bzc-ws .ws-sub{color:var(--bzc-muted);font-size:1.08rem;margin:6px 0 20px}
.bzc-ws .sheet{border-left:1px solid var(--bzc-line);padding:24px 26px;gap:16px}
.bzc-ws .sh-top{display:flex;align-items:center;gap:10px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.bzc-ws .sh-lv{background:var(--lv-soft);color:var(--lv-deep);border:1px solid var(--lv-mid);border-radius:6px;padding:3px 8px;font-weight:700}
.bzc-ws .sh-mod{color:var(--bzc-muted);font-weight:600}
.bzc-ws .sh-title{font:800 clamp(1.5rem,2.8vw,2.1rem)/1.15 var(--bzc-display);letter-spacing:-.02em;margin:0;color:var(--bzc-ink)}
.bzc-ws .sh-sub{color:var(--bzc-muted);margin:-8px 0 0}
.bzc-ws .sh-tabs{display:flex;gap:4px;border-bottom:1px solid var(--bzc-line);overflow-x:auto;scrollbar-width:none}
.bzc-ws .sh-tab{flex:none;background:none;border:0;border-bottom:3px solid transparent;padding:10px 14px;margin-bottom:-1px;font:600 .93rem var(--bzc-body);color:var(--bzc-muted);cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0;border-radius:0;width:auto}
.bzc-ws .sh-tab:hover{color:var(--bzc-ink)}
.bzc-ws .sh-tab.on{color:var(--bzc-accent-deep);border-bottom-color:var(--bzc-accent)}
.bzc-ws .sh-body{display:flex;flex-direction:column;gap:18px}
.bzc-ws .sh-learn{background:#f7f7f4;border-radius:12px;padding:16px 18px}
.bzc-ws .sh-learn h3{font:700 1rem var(--bzc-body);color:var(--bzc-ink);text-transform:none;letter-spacing:0;margin:0 0 10px}
.bzc-ws .sheet ul.ticks{display:flex;flex-direction:column;gap:8px;padding:0;list-style:none}
.bzc-ws .ticks li{display:flex;align-items:center;gap:10px}
.bzc-ws .ticks li::before{content:"✓";flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--bzc-accent);color:#fff;font-size:.7rem;font-weight:800}
.bzc-ws .sh-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--bzc-line);padding-top:18px}
.bzc-ws .sh-nav button.primary{padding:11px 18px}
.bzc-ws .ws-test{display:flex;align-items:center;gap:16px;margin-top:16px;padding:16px 20px}
.bzc-ws .ws-test-ic{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#fdf0ed;color:var(--bzc-accent)}
.bzc-ws .ws-test-tx{flex:1;display:flex;flex-direction:column}
.bzc-ws .ws-test-tx small{color:var(--bzc-muted)}
.bzc-ws button.ws-outline{border:1.5px solid var(--bzc-accent);color:var(--bzc-accent-deep);padding:10px 22px}
.bzc-ws button.ws-outline:hover{background:var(--bzc-accent);color:#fff}

/* Right: progress ring, steps, notes */
.bzc-ws .ws-ring{--p:0;width:130px;height:130px;margin:16px auto 8px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--bzc-accent) calc(var(--p)*1%),#ecede9 0)}
.bzc-ws .ws-ring span{width:100px;height:100px;border-radius:50%;background:var(--bzc-surface);display:grid;place-items:center;font:800 1.6rem var(--bzc-display);color:var(--bzc-ink)}
.bzc-ws .ws-ring-note{text-align:center;font-weight:600;font-size:.9rem;margin:0 0 14px}
.bzc-ws .ws-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--bzc-line);padding-top:14px}
.bzc-ws .ws-stats>div{display:flex;align-items:center;gap:10px}
.bzc-ws .ws-stats>div+div{border-left:1px solid var(--bzc-line);padding-left:12px}
.bzc-ws .ws-stat-ic{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fdf0ed;color:var(--bzc-accent)}
.bzc-ws .ws-stats b{display:block;font-size:1rem}
.bzc-ws .ws-stats small{color:var(--bzc-muted);font-size:.76rem;line-height:1.2;display:block}
.bzc-ws .ws-steps{margin-top:12px;position:relative}
.bzc-ws .ws-steps::before{content:"";position:absolute;left:21px;top:22px;bottom:22px;width:2px;background:#e3e5df}
.bzc-ws .st-item{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:1px solid transparent;border-radius:12px;background:none;cursor:pointer;text-align:left;font:inherit;color:var(--bzc-ink);box-shadow:none;text-transform:none;letter-spacing:0}
.bzc-ws .st-item:hover{background:#f7f7f4}
.bzc-ws .st-item.on{border-color:var(--bzc-line);background:var(--bzc-surface);box-shadow:0 6px 16px -12px rgba(34,37,33,.4)}
.bzc-ws .st-dot{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid #cfd2cb;background:var(--bzc-surface);z-index:1}
.bzc-ws .st-item.on .st-dot{border-color:var(--bzc-accent);box-shadow:inset 0 0 0 4px #fff;background:var(--bzc-accent)}
.bzc-ws .st-item.fin .st-dot{background:var(--bzc-good);border-color:var(--bzc-good);box-shadow:inset 0 0 0 4px #fff}
.bzc-ws .st-tx{flex:1;display:flex;flex-direction:column;line-height:1.3}
.bzc-ws .st-tx b{font-size:.93rem}
.bzc-ws .st-tx small{color:var(--bzc-muted);font-size:.8rem}
.bzc-ws .st-chev{width:8px;height:8px;border-right:2px solid var(--bzc-muted);border-bottom:2px solid var(--bzc-muted);transform:rotate(-45deg)}
.bzc-ws .st-item.on .st-chev{border-color:var(--bzc-accent)}
.bzc-ws .ws-note{width:100%;min-height:120px;margin-top:14px;resize:vertical;font:15px/1.5 var(--bzc-body);color:var(--bzc-ink);background:var(--bzc-surface);border:1px solid var(--bzc-line);border-radius:10px;padding:12px}
.bzc-ws .ws-note-row{display:flex;align-items:center;gap:10px;margin-top:8px}
.bzc-ws .ws-note-row #bzc-noteCount{margin-left:auto}
.bzc-ws .ws-note-save{background:none;border:0;padding:4px 0;font:700 .9rem var(--bzc-body);color:var(--bzc-accent-deep);cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0;width:auto}

/* Full scorecard + daily chart */
.bzc-ws .ws-more{margin-top:24px;display:flex;flex-direction:column;gap:18px}
.bzc-ws .ws-more summary{cursor:pointer;font:800 1.05rem var(--bzc-display);color:var(--bzc-ink)}
.bzc-ws .ws-more[open] summary{margin-bottom:16px}
.bzc-ws .ws-more>section+section{margin-top:22px}

@media (max-width:1180px){
  .bzc-ws .ws-grid{grid-template-columns:260px minmax(0,1fr)}
  .bzc-ws .ws-side{grid-column:1/-1;position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:860px){
  .bzc.bzc-ws{padding-top:5.5rem}
  .bzc-ws .ws-alerts{margin-top:-5.5rem}
  .bzc-ws .ws-grid{grid-template-columns:1fr}
  .bzc-ws .ws-road{position:static;order:2}
  .bzc-ws .ws-main{order:1}
  .bzc-ws .ws-side{order:3;grid-template-columns:1fr}
}
@media (max-width:640px){
  .bzc-ws .ws-wrap{padding:0 14px}
  .bzc-ws .sheet{padding:18px 16px}
  .bzc-ws .sh-tabs{gap:0}
  .bzc-ws .sh-tab{padding:10px 7px;font-size:.84rem}
  .bzc-ws .ws-card{padding:16px}
  .bzc-ws .sh-nav{flex-direction:column-reverse;align-items:stretch}
  .bzc-ws .sh-nav .row,.bzc-ws .sh-nav button{width:100%;justify-content:center}
  .bzc-ws .ws-test{flex-wrap:wrap}
  .bzc-ws .ws-test button{width:100%}
}

/* Plain-words lesson layer, sources and interview round (2 Nov 2026 course update).
   Light tints of the Mosaic tile palette only; scoped to the signed-in workspace. */
.bzc-ws .simple{background:var(--bzc-accent-soft);border-radius:12px;padding:14px 16px;font-size:1.05rem;line-height:1.55}
.bzc-ws .hook{display:inline-flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;max-width:100%;margin-top:10px;padding:8px 14px;border-radius:12px;background:#e6f6f5;border-left:4px solid var(--t-teal,#00a39c);color:#00746f;font-weight:600;font-size:.95rem}
.bzc-ws .hook b{font:700 .7rem var(--bzc-body);letter-spacing:.08em;text-transform:uppercase}
.bzc-ws .sheet ul.ideas{list-style:none;padding-left:0;gap:12px}
.bzc-ws .ideas li{border:1px solid var(--bzc-line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.bzc-ws .ideas .term{font:700 1.02rem var(--bzc-display)}
.bzc-ws .ideas .eg{background:var(--bzc-panel);border-left:3px solid var(--t-teal,#00a39c);border-radius:6px;padding:8px 10px;font-size:.95rem}
.bzc-ws .ideas .eg b{color:#00746f;font-weight:600}
.bzc-ws .ideas details summary{cursor:pointer;font-size:.82rem;color:var(--bzc-muted)}
.bzc-ws .ideas details p{font-size:.9rem;color:var(--bzc-muted);margin-top:6px}
.bzc-ws .srcs a{color:var(--bzc-accent-deep);text-underline-offset:2px;word-break:break-word}
.bzc-ws .iv-q{font-weight:600;font-size:1.05rem}
.bzc-ws .iv-done{display:flex;align-items:center;gap:8px;margin-top:6px;cursor:pointer}
.bzc-ws .iv-done input{width:18px;height:18px;margin:0;accent-color:var(--bzc-accent)}
