/* ==========================================================================
   CBC Guides v2 — "the exercise book". Sitewide base: tokens, type, header, footer, wordmark.
   ========================================================================== */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/bricolagegrotesque-sub.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/figtree-sub.woff2) format("woff2")}
@font-face{font-family:"Caveat";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/caveat-sub.woff2) format("woff2")}
body{
  --paper:#FBF7EE;--paper-2:#F4EDDD;--ink:#1D2A23;--ink-2:#45534B;--forest:#0F5132;--forest-2:#0A3D25;--pen:#E8553D;--pen-ink:#C23A24;--gold:#E2A72E;
  --rule:rgba(84,124,176,.16);--margin:rgba(232,85,61,.5);--hl:rgba(255,222,89,.75);
  --display:"Bricolage Grotesque","Figtree",ui-sans-serif,system-ui,sans-serif;--body:"Figtree",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--hand:"Caveat","Segoe Print","Bradley Hand",cursive;
  --font:var(--body);
  background:var(--paper);color:var(--ink-2);font-family:var(--body);font-size:17.5px;font-feature-settings:normal;
}
body button,body input,body select,body textarea{font-family:var(--body)}
body ::selection{background:var(--hl);color:var(--ink)}
body :focus-visible{outline:3px solid var(--pen);outline-offset:3px;box-shadow:none;border-radius:6px}
/* header: paper, not glass */
body .site-header{background:rgba(251,247,238,.9);border-bottom:1px solid transparent}
body .site-header.is-scrolled{border-bottom-color:rgba(29,42,35,.12);box-shadow:none}
body .main-navigation,body .main-navigation ul ul{background:transparent}
body .main-navigation .main-nav ul li a{color:var(--ink);font-weight:600;font-family:var(--body)}
body .main-navigation .main-nav ul li a:hover{color:var(--pen-ink)}
body .cbcg-nav-cta{background:var(--forest)!important;color:#fff!important;font-family:var(--body);box-shadow:none}
body .cbcg-nav-cta:hover{background:var(--forest-2)!important}

.hb{overflow-x:clip}
.hb-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.hb h1,.hb h2,.hb h3{font-family:var(--display);color:var(--ink);letter-spacing:-.025em;font-weight:800}
.hb-h1{font-size:clamp(44px,10.5vw,84px);line-height:.98;margin:0 0 22px;font-variation-settings:"opsz" 96;letter-spacing:-.04em}
.hb-h2{font-size:clamp(32px,5.6vw,56px);line-height:1.02;margin:0 0 16px;font-variation-settings:"opsz" 72;letter-spacing:-.035em}
.hb p{margin:0 0 16px}
.hb-note{font-family:var(--hand);font-weight:700;font-size:28px;line-height:1.1;color:var(--forest);margin:0 0 8px}
.hb-note--red{color:var(--pen-ink);transform:rotate(-3deg);transform-origin:left;display:inline-block}
.hb-note--gold{color:#F6C453}
.hb-note--aside{color:var(--pen-ink);font-size:26px;display:flex;align-items:center;gap:6px;transform:rotate(-2deg)}
.hb-note--aside .hb-harrow{width:52px;transform:rotate(40deg) translateY(6px)}
.hb-small{font-size:15px;color:var(--ink-2);opacity:.85}
.hb-src{font-size:13.5px;color:var(--ink-2);opacity:.8;margin-top:14px}

/* paper */
.hb-ruled{background-color:var(--paper);background-image:linear-gradient(to bottom,transparent 35px,var(--rule) 35px,var(--rule) 36px);background-size:100% 36px}
.hb-ruled--margin,.hb-hero{position:relative}
.hb-ruled--margin::before,.hb-hero::before{content:"";position:absolute;top:0;bottom:0;left:max(14px,calc(50% - 660px));width:2px;background:var(--margin);box-shadow:5px 0 0 rgba(232,85,61,.22);pointer-events:none}

/* handwritten bits */
.hb-circled{position:relative;display:inline-block;white-space:nowrap;color:var(--ink)}
.hb-circled svg{position:absolute;left:-6%;top:-14%;width:112%;height:128%;overflow:visible;pointer-events:none}
.hb-circled path{fill:none;stroke:var(--pen);stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:hb-draw .9s .35s cubic-bezier(.6,.1,.3,1) forwards;vector-effect:non-scaling-stroke}
.hb-hl{background:linear-gradient(100deg,transparent 2%,var(--hl) 4%,var(--hl) 96%,transparent 98%) no-repeat 0 62%/100% 58%;color:inherit;padding:0 3px;border-radius:2px}
.hb-harrow{width:46px;height:auto;flex:none}
@keyframes hb-draw{to{stroke-dashoffset:0}}

/* buttons */
.hb-btn,body .hb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:14px 26px;border-radius:14px;font-family:var(--body);font-weight:800;font-size:19px;line-height:1.15;text-decoration:none;border:0;cursor:pointer;transition:transform .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s}
.hb-btn--pen,body a.hb-btn--pen{background:var(--pen);color:#fff;box-shadow:0 3px 0 var(--pen-ink)}
.hb-btn--forest,body a.hb-btn--forest{background:var(--forest);color:#fff;box-shadow:0 3px 0 var(--forest-2)}
.hb-btn:hover{transform:translateY(-2px);color:#fff}
.hb-btn--pen:hover{box-shadow:0 5px 0 var(--pen-ink)}
.hb-btn--forest:hover{box-shadow:0 5px 0 var(--forest-2)}
.hb-btn:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.2)}
.hb-btn--sm{min-height:48px;font-size:18.7px;padding:10px 20px}
.hb-textlink,body a.hb-textlink{display:inline-flex;align-items:center;gap:8px;font-family:var(--hand);font-weight:700;font-size:27px;color:var(--forest);text-decoration:none}
.hb-textlink:hover{color:var(--pen-ink)}
.hb-textlink .hb-harrow{transition:transform .2s}
.hb-textlink:hover .hb-harrow{transform:translateX(4px)}

/* ---------- FOOTER: back cover ---------- */
body.home .site-footer,body.home .site-info{background:transparent;padding:0}
.hb-foot{position:relative;background:var(--forest);color:rgba(255,255,255,.8);padding:64px 0 28px;font-size:15.5px;overflow:hidden;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:24px 24px}
.hb-foot::before{content:"";position:absolute;inset:14px;border:2px solid rgba(246,196,83,.35);border-radius:6px;pointer-events:none}
.hb-foot a{color:#fff;text-decoration:none}
.hb-foot__grid{display:grid;gap:40px;position:relative}
.hb-foot__brand{position:relative;max-width:380px}
.hb-foot__logo{font-family:var(--display);font-weight:800;font-size:38px;color:#fff;letter-spacing:-.03em;margin:0 0 10px!important}
.hb-foot__logo span{color:#F6C453}
.hb-foot__sign{font-family:var(--hand);font-size:clamp(24px,6.5vw,30px);max-width:92%;color:#FF8B73;transform:rotate(-3deg);transform-origin:left;margin-top:18px!important}
.hb-stamp--foot{position:static;display:block;opacity:.85;transform:rotate(-8deg);width:120px;margin:0 0 0 38%;mix-blend-mode:normal;color:#FF8B73;animation:none!important}
.hb-tt{border:2px solid rgba(255,255,255,.5);border-radius:4px;background:rgba(0,0,0,.08)}
.hb-tt__title{margin:0!important;padding:8px 14px;border-bottom:2px solid rgba(255,255,255,.5);font-family:var(--display);font-weight:800;letter-spacing:.2em;text-transform:uppercase;font-size:13px;color:#F6C453;text-align:center}
.hb-tt__row{display:grid;grid-template-columns:96px repeat(6,1fr);border-bottom:1px solid rgba(255,255,255,.3)}
.hb-tt__row:last-child{border-bottom:0}
.hb-tt__row--wide{grid-template-columns:96px repeat(5,1fr)}.hb-tt__row--two{grid-template-columns:96px repeat(2,1fr)}
.hb-tt__day{font-family:var(--hand);font-size:23px;color:#fff;padding:10px 12px;border-right:2px solid rgba(255,255,255,.5);display:flex;align-items:center}
.hb-tt a{display:flex;flex-direction:column;justify-content:center;padding:12px 12px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.12);font-weight:700;min-height:52px;transition:background .15s}
.hb-tt__row--grades a{align-items:center;font-family:var(--display);font-size:20px}
.hb-tt a:hover{background:rgba(246,196,83,.16);color:#fff}
.hb-tt__row--wide a{font-size:14.5px}
.hb-tt a small{font-weight:500;font-size:12.5px;opacity:.7;margin-top:2px}
.hb-times{font-family:var(--body);color:rgba(255,255,255,.55)}
.hb-times p{margin:0 0 8px!important;font-family:var(--display);font-weight:800;letter-spacing:.2em;font-size:12px;text-transform:uppercase;color:rgba(246,196,83,.8)}
.hb-times div{display:grid;gap:2px;font-variant-numeric:tabular-nums;font-size:13px}
.hb-times span{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.hb-times i{font-style:normal}
.hb-foot__bar{position:relative;margin-top:44px;padding-top:20px;border-top:1px dashed rgba(255,255,255,.3);display:grid;gap:10px;font-size:13.5px}
.hb-foot__fine{margin:0!important;opacity:.75;max-width:60em}
.hb-foot__links{margin:0!important;display:flex;flex-wrap:wrap;gap:6px 20px}
.hb-foot__links a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px}

/* wordmark */
.hb-wordmark,body a.hb-wordmark{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.hb-wordmark span{font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:-.03em;color:var(--forest);line-height:1}
.hb-wordmark b{font-weight:800;color:var(--ink);background:linear-gradient(transparent 70%,rgba(232,85,61,.35) 70%,rgba(232,85,61,.35) 90%,transparent 90%)}
.hb-exam .hb-h2{font-size:clamp(32px,4.2vw,48px)}

@media (min-width:760px){
  .hb-wrap{padding:0 32px}
  .hb-foot__grid{grid-template-columns:1fr 1.6fr}
  .hb-times{grid-column:1/-1}
  .hb-times div{grid-template-columns:repeat(3,1fr);gap:4px 30px}
}
@media (min-width:1080px){
  .hb-foot__grid{grid-template-columns:.8fr 1.75fr .65fr;align-items:start;gap:44px}
  .hb-times{grid-column:auto}
  .hb-times div{grid-template-columns:1fr}
  .hb-foot__bar{grid-template-columns:1fr auto;align-items:end}
}
@media (max-width:420px){
  .hb-tt__row{grid-template-columns:78px repeat(6,1fr)}
  .hb-tt__row--wide,.hb-tt__row--two{grid-template-columns:78px 1fr 1fr}
  .hb-tt__row--wide .hb-tt__day{grid-row:span 3}
}

/* ==========================================================================
   v2 sitewide: inner pages (articles, pages/hubs, schools, archives, search, 404)
   ========================================================================== */
body{
  /* re-map v1 tokens onto the exercise-book palette so every v1 component warms up */
  --g-950:#06291A;--g-900:#0A3D25;--g-800:#0C4A2D;--g-700:#0F5132;--g-600:#17663F;--g-500:#2E7D52;--g-200:#CFE3D5;--g-100:#E3EFE6;--g-50:#EEF6EF;
  --y-600:#A9781A;--y-500:#C9901F;--y-400:#E2A72E;--y-100:#FBEBC4;--y-50:#FFF8E3;--y-ink:#6B4B07;
  --s-950:#141C17;--s-900:#1D2A23;--s-800:#2A3730;--s-700:#45534B;--s-600:#59655E;--s-500:#727C76;--s-400:#A3A99F;--s-300:#D9D1BF;--s-200:#E8E0CE;--s-100:#F1EADB;--s-50:#F7F2E7;
  --ring:0 0 0 3px rgba(232,85,61,.3);
}
body h1,body h2,body h3,body h4{font-family:var(--display);color:var(--ink);letter-spacing:-.025em}
body a{color:var(--forest)}
body a:hover{color:var(--pen-ink)}
.cbcg-btn--primary,body a.cbcg-btn--primary,body button.cbcg-btn--primary{background:var(--pen);color:#fff;box-shadow:0 3px 0 var(--pen-ink);border-radius:14px;font-weight:800}
.cbcg-btn--primary:hover{background:var(--pen);color:#fff;transform:translateY(-2px)}
.cbcg-btn--ghost,body a.cbcg-btn--ghost{background:transparent;border:2px solid var(--forest);color:var(--forest);border-radius:14px}
.cbcg-btn--gold{background:var(--forest);color:#fff;border-radius:14px}

/* header submenus + mobile menu */
body .main-navigation .main-nav ul li a:hover,body .main-navigation .main-nav ul li.current-menu-item>a,body .main-navigation .main-nav ul li.current-menu-ancestor>a{background:transparent;color:var(--pen-ink);text-decoration:underline;text-decoration-color:var(--pen);text-decoration-thickness:3px;text-underline-offset:8px}
body .main-navigation .main-nav ul ul{background:#FFFDF6;border:0;border-radius:4px 12px 12px 4px;box-shadow:0 1px 0 #e9e1cf,0 3px 0 #fff,0 4px 0 #e2d9c5,0 22px 40px -20px rgba(29,42,35,.45);padding:8px 8px 8px 22px;background-image:linear-gradient(90deg,transparent 12px,var(--margin) 12px,var(--margin) 14px,transparent 14px)}
body .main-navigation .main-nav ul ul li a{font-weight:600;color:var(--ink);text-decoration:none!important}
body .main-navigation .main-nav ul ul li a:hover{background:var(--hl);color:var(--ink)}
body .main-navigation.toggled .main-nav>ul{border-top:1px dashed rgba(29,42,35,.25)}
body .menu-toggle,body .menu-toggle:hover,body .menu-toggle:focus{background:transparent;color:var(--ink)}

/* breadcrumbs */
body .cbcg-breadcrumbs{font-size:13.5px;color:var(--ink-2)}
body .cbcg-breadcrumbs a{color:var(--ink-2);text-decoration:none;border-bottom:1px solid rgba(29,42,35,.25)}
body .cbcg-breadcrumbs a:hover{color:var(--pen-ink);border-color:var(--pen)}

/* ---------- the sheet: every article / page / school is a page in the book ---------- */
body:not(.home).single .site-main,body:not(.home).page .site-main{max-width:880px;padding-top:24px}
body:not(.home).single .inside-article,body:not(.home).page .inside-article{position:relative;background:#fff;border-radius:4px 16px 16px 4px;padding:44px 56px 56px 92px;box-shadow:0 1px 0 #e9e1cf,0 2px 0 #fff,0 3px 0 #e9e1cf,0 4px 0 #fff,0 5px 0 #e2d9c5,0 30px 60px -36px rgba(29,42,35,.4)}
body:not(.home).single .inside-article::before,body:not(.home).page .inside-article::before{content:"";position:absolute;top:0;bottom:0;left:60px;width:2px;background:var(--margin);box-shadow:5px 0 0 rgba(232,85,61,.18)}
body:not(.home).single .inside-article::after,body:not(.home).page .inside-article::after{content:"";position:absolute;left:0;right:0;top:0;height:14px;border-radius:4px 16px 0 0;background:repeating-linear-gradient(90deg,transparent 0 22px,rgba(29,42,35,.07) 22px 24px)}
body:not(.home) .entry-header{margin-bottom:26px}
body:not(.home) .entry-title{font-family:var(--display);font-weight:800;font-size:clamp(34px,5vw,54px);line-height:1.02;letter-spacing:-.035em;color:var(--ink);font-variation-settings:"opsz" 72}
/* "Filed under" handwritten margin note replaces the pill eyebrow */
.cbcg-filed,body a.cbcg-filed{display:inline-block;font-family:var(--hand);font-weight:700;font-size:24px;line-height:1;color:var(--pen-ink);text-decoration:none;transform:rotate(-2.5deg);transform-origin:left;margin:0 0 12px}
.cbcg-filed span{text-decoration:underline;text-decoration-color:var(--pen);text-decoration-thickness:2px;text-underline-offset:4px}
.cbcg-filed:hover{color:var(--forest)}
body .cbcg-meta{font-family:var(--body);font-size:14px;color:var(--ink-2);border-bottom:1px dashed rgba(29,42,35,.2);padding-bottom:16px}
body .cbcg-meta__brand{color:var(--ink);font-weight:700}
body .entry-content .cbcg-reviewed,body .cbcg-reviewed{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:0;font-family:var(--hand);font-size:22px;color:var(--forest);margin:0 0 18px}
body .entry-content .cbcg-reviewed::before,body .cbcg-reviewed::before{content:"";width:22px;height:18px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 26'%3E%3Cpath d='M3 14c3 2 6 5 8 9 4-8 9-15 16-20' fill='none' stroke='%23E8553D' stroke-width='4.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;border-radius:0}

/* body copy */
body .entry-content{font-family:var(--body);font-size:18.5px;line-height:1.72;color:var(--ink)}
body .entry-content h2{font-family:var(--display);font-weight:800;font-size:clamp(26px,3vw,32px);line-height:1.12;letter-spacing:-.03em;margin:2.1em 0 .7em;padding-bottom:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10' preserveAspectRatio='none'%3E%3Cpath d='M2 7c25-4 60-6 116-3' fill='none' stroke='%23E8553D' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 0 100%/96px 9px}
body .entry-content h3{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em}
body .entry-content strong{color:var(--ink);font-weight:700}
body .entry-content a{color:var(--forest);text-decoration:underline;text-decoration-color:rgba(232,85,61,.45);text-decoration-thickness:2px;text-underline-offset:3px}
body .entry-content a:hover{color:var(--pen-ink);text-decoration-color:var(--pen)}
body .entry-content mark{background:linear-gradient(100deg,transparent 1%,var(--hl) 3%,var(--hl) 97%,transparent 99%) no-repeat 0 62%/100% 62%;color:inherit;padding:0 2px}
body .entry-content ul{list-style:none;padding-left:1.6em}
body .entry-content ul>li{position:relative}
body .entry-content ul>li::before{content:"";position:absolute;left:-1.55em;top:.42em;width:17px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 26'%3E%3Cpath d='M3 14c3 2 6 5 8 9 4-8 9-15 16-20' fill='none' stroke='%23E8553D' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain}
body .entry-content ol>li::marker{font-family:var(--hand);font-weight:700;font-size:1.2em;color:var(--pen-ink)}
body .entry-content blockquote{border-left:0;padding:6px 0 6px 26px;position:relative;font-family:var(--display);font-weight:600;font-size:21px;line-height:1.4;color:var(--ink)}
body .entry-content blockquote::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:6px;border-radius:3px;background:var(--hl)}
body .entry-content hr{background:none;border-top:2px dashed rgba(29,42,35,.18);height:0}

/* contents (TOC) as an index card */
body .entry-content .cbcg-toc{background:#FFFDF6;border:0;border-radius:4px;box-shadow:inset 0 0 0 1.5px rgba(29,42,35,.12);padding:4px 0 6px}
body .entry-content .cbcg-toc li+li a{border-top:1px solid rgba(84,124,176,.2)}
body .entry-content .cbcg-toc summary{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.01em;text-transform:none;color:var(--ink);padding:12px 20px 6px}
body .entry-content .cbcg-toc a{color:var(--ink);text-decoration:none;align-items:baseline}
body .entry-content .cbcg-toc a:before{content:counter(t) ".";font-family:var(--hand);font-size:21px;font-weight:700;color:var(--pen-ink);min-width:22px}
body .entry-content .cbcg-toc li::before{display:none}
body .entry-content .cbcg-toc a:hover{background:linear-gradient(100deg,transparent 0,var(--hl) 1%,var(--hl) 99%,transparent 100%) no-repeat 0 55%/100% 60%}

/* ---------- tables: the fees ledger ---------- */
.cbcg-table,body .entry-content .wp-block-table{border:2px solid var(--ink);border-radius:6px;box-shadow:4px 4px 0 rgba(29,42,35,.12);background-color:#FFFDF6;margin:1.9em 0}
body .entry-content table{font-family:var(--body);font-size:16px;font-variant-numeric:tabular-nums lining-nums}
body .entry-content thead th,body .entry-content table tr:first-child th{background:var(--forest);color:#fff;font-family:var(--display);font-weight:700;font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;border-bottom:0;padding:13px 16px}
body .entry-content th,body .entry-content td{border-bottom:1px solid rgba(84,124,176,.25);padding:12px 16px}
body .entry-content td:first-child{font-weight:600;color:var(--ink)}
body .entry-content tbody tr:nth-child(even) td{background:rgba(244,237,221,.5)}
body .entry-content tbody tr:hover td{background:rgba(255,222,89,.28)}
body .entry-content tfoot td,body .entry-content tr.total td{background:rgba(255,222,89,.45);border-top:3px double var(--ink);font-weight:800;color:var(--ink)}
body .entry-content table caption{font-family:var(--hand);font-size:19px;color:var(--ink-2)}
.cbcg-table-hint{display:none}
@media (max-width:760px){
  body .entry-content table{font-size:15px}
  body .entry-content th,body .entry-content td{padding:11px 12px}
  .cbcg-table,body .entry-content .wp-block-table{margin-left:0;margin-right:0}
  .cbcg-table.is-scrollable+.cbcg-table-hint,.cbcg-table-hint.is-on{display:block;font-family:var(--hand);font-size:20px;color:var(--pen-ink);margin:-1.4em 0 1.6em;text-align:right}
}

/* ---------- callouts as things stuck into the book ---------- */
body .entry-content .cbcg-note,body .entry-content .cbcg-tip,body .entry-content .cbcg-warning,body .entry-content .cbcg-key{border-radius:3px;border:0;padding:20px 22px 18px 22px;font-size:17px;line-height:1.6}
body .entry-content .cbcg-note::before,body .entry-content .cbcg-tip::before,body .entry-content .cbcg-warning::before,body .entry-content .cbcg-key::before{position:static;display:block;width:auto;height:auto;background:none;border-radius:0;font-family:var(--hand);font-weight:700;font-size:24px;line-height:1;margin:0 0 6px;text-align:left}
body .entry-content .cbcg-note{background:#FFE98A;color:var(--ink);transform:rotate(-.6deg);box-shadow:0 18px 26px -22px rgba(80,60,0,.6)}
body .entry-content .cbcg-note::before{content:"Note:";color:var(--ink)}
body .entry-content .cbcg-tip{background:var(--g-50);color:var(--ink);box-shadow:inset 4px 0 0 var(--forest)}
body .entry-content .cbcg-tip::before{content:"Parent tip";color:var(--forest)}
body .entry-content .cbcg-warning{background:#FFF4F1;color:var(--ink);box-shadow:inset 0 0 0 2px var(--pen);border-radius:12px 4px 14px 6px}
body .entry-content .cbcg-warning::before{content:"Careful!";color:var(--pen-ink)}
body .entry-content .cbcg-key{background:var(--forest);color:rgba(255,255,255,.92);position:relative;margin-top:2.4em}
body .entry-content .cbcg-key::before{content:"Key facts";color:#F6C453}
body .entry-content .cbcg-key::after{content:"";position:absolute;top:-12px;left:50%;width:110px;height:24px;margin-left:-55px;background:rgba(255,255,255,.6);transform:rotate(-2deg)}
body .entry-content .cbcg-key a,body .entry-content .cbcg-key strong{color:#fff}
body .entry-content .cbcg-key ul>li::before{filter:brightness(1.3)}

/* ---------- end of article: homework slip + contents ---------- */
body .cbcg-endcta{display:grid;gap:14px;background:#FFE98A;border:0;border-radius:2px;padding:30px 28px 26px;margin:56px 0 0;color:var(--ink);transform:rotate(-.7deg);box-shadow:0 26px 34px -28px rgba(80,60,0,.6);position:relative}
body .cbcg-endcta::before{content:"";position:absolute;top:-13px;left:40px;width:110px;height:26px;background:rgba(255,255,255,.6);transform:rotate(-4deg)}
body .cbcg-endcta h2{font-size:clamp(26px,3vw,32px);margin:0 0 6px;color:var(--ink);background:none;padding:0}
body .cbcg-endcta p{color:var(--ink);margin:0}
body .cbcg-endcta__kicker{font-family:var(--hand);font-size:24px;color:var(--pen-ink)!important;font-weight:700;text-transform:none;letter-spacing:0}
body .cbcg-endcta .cbcg-btn{justify-self:start}
body .cbcg-related{margin-top:56px}
body .cbcg-related>h2{font-size:30px;margin-bottom:6px}

/* index list (replaces card grids in archives, search, related) */
.cbcg-index{list-style:none;margin:0;padding:0;counter-reset:ix}
.cbcg-index li{margin:0;counter-increment:ix}
.cbcg-index a,body .cbcg-index a{display:grid;grid-template-columns:38px 1fr auto;gap:4px 12px;align-items:baseline;padding:16px 0;border-bottom:1px solid rgba(29,42,35,.13);text-decoration:none;color:var(--ink)}
.cbcg-index a::before{content:counter(ix) ".";font-family:var(--hand);font-weight:700;font-size:26px;line-height:1;color:var(--pen-ink)}
.cbcg-index a:hover{background:linear-gradient(100deg,transparent 0,var(--hl) 1%,var(--hl) 99%,transparent 100%) no-repeat 0 50%/100% 56%;color:var(--ink)}
.cbcg-index__t{font-family:var(--display);font-weight:700;font-size:20px;line-height:1.25;letter-spacing:-.012em}
.cbcg-index__t small{display:block;font-family:var(--body);font-weight:600;font-size:13px;color:var(--ink-2);opacity:.8;margin-top:5px;letter-spacing:.01em}
.cbcg-index__d{font-family:var(--hand);font-size:21px;color:var(--ink-2);white-space:nowrap}
.cbcg-index li:first-child .cbcg-index__t{font-size:clamp(22px,2.6vw,27px)}

/* ---------- listing pages: archive, blog, search ---------- */
body.cbcg-listing .site-main,body .cbcg-listing-main{max-width:1000px;margin:0 auto;padding:40px 24px 90px}
body .cbcg-pagehead{position:relative;display:grid;gap:8px;padding:0 0 26px;margin:0 0 10px;border-bottom:3px double var(--ink);text-align:left}
body .cbcg-pagehead h1{font-size:clamp(40px,7vw,76px);line-height:.98;letter-spacing:-.04em;font-weight:800;margin:0;font-variation-settings:"opsz" 96}
body .cbcg-pagehead .cbcg-kicker{font-family:var(--hand);font-weight:700;font-size:26px;letter-spacing:0;text-transform:none;color:var(--pen-ink);margin:0;transform:rotate(-2deg);transform-origin:left;background:none;padding:0}
body .cbcg-pagehead__desc{font-size:18px;color:var(--ink-2);max-width:40em}
body .cbcg-pagehead__desc p{margin:0}
body .cbcg-pagination .page-numbers{font-family:var(--hand);font-size:22px;color:var(--ink);border-radius:50%}
body .cbcg-pagination .page-numbers.current{color:#fff;background:var(--pen)}
body .cbcg-empty{background:#FFE98A;border:0;border-radius:2px;transform:rotate(-.6deg);color:var(--ink);box-shadow:0 22px 30px -26px rgba(80,60,0,.6)}
body .cbcg-empty__icon{display:none}

/* search box */
body .cbcg-search{background:#FFFDF6;border:2px solid var(--ink);border-radius:14px;box-shadow:3px 3px 0 rgba(29,42,35,.15)}
body .cbcg-search button{background:var(--pen);color:#fff;border-radius:10px;font-weight:800}
body .cbcg-search button:hover{background:var(--pen-ink)}

/* ---------- 404 ---------- */
body .cbcg-404{text-align:left;max-width:760px;margin:0 auto;padding:56px 24px 90px}
body .cbcg-404 h1{font-size:clamp(44px,8vw,84px);line-height:.98;letter-spacing:-.04em;font-weight:800}
body .cbcg-404 .cbcg-kicker{font-family:var(--hand);font-size:28px;color:var(--pen-ink);text-transform:none;letter-spacing:0;background:none;padding:0}
body .cbcg-404__art{margin:0 0 10px}
body .cbcg-chips a{background:#FFFDF6;border:1.5px solid rgba(29,42,35,.25);color:var(--ink);border-radius:6px;font-weight:700}
body .cbcg-chips a:hover{border-color:var(--pen);color:var(--pen-ink);background:#fff}

/* ---------- page heads: grade covers + fees highlighter ---------- */
.cbcg-gradetab{position:absolute;top:-22px;right:28px;width:118px;height:150px;border-radius:4px 12px 12px 4px;background:linear-gradient(90deg,rgba(0,0,0,.18) 0 8px,transparent 8px 11px),repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 2px,transparent 2px 7px),var(--c,#B8352A);color:#fff;overflow:hidden;transform:rotate(3deg);box-shadow:0 18px 30px -16px rgba(29,42,35,.6);display:block;z-index:2;text-decoration:none}
.cbcg-gradetab span{position:absolute;top:12px;left:18px;font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.cbcg-gradetab b{position:absolute;right:-6px;bottom:-34px;font-family:var(--display);font-weight:800;font-size:150px;line-height:1;letter-spacing:-.06em;color:rgba(255,255,255,.28)}
.cbcg-gradetab i{position:absolute;top:34px;left:18px;right:12px;background:#FFFDF6;border-radius:4px;color:var(--pen-ink);font-family:var(--hand);font-style:normal;font-weight:700;font-size:21px;line-height:1;padding:6px 8px}
.cbcg-g4{--c:#2B5DAB}.cbcg-g5{--c:#1E7A4C}.cbcg-g6{--c:#B8352A}.cbcg-g7{--c:#E3A92B}.cbcg-g8{--c:#5E3C8C}.cbcg-g9{--c:#D9642B}
.cbcg-has-gradetab .entry-header{padding-right:140px}
.cbcg-fees-page .entry-title{display:inline;background:linear-gradient(100deg,transparent .5%,var(--hl) 1.5%,var(--hl) 98.5%,transparent 99.5%) no-repeat 0 88%/100% 38%;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* ---------- schools database (cbcg-schools) ---------- */
body .cbcg-hub__meta{font-size:15px;color:var(--ink-2)}
body .cbcg-hub h3{display:flex;align-items:center;gap:10px}
body .cbcg-hub__n{font-family:var(--hand);font-size:22px;color:var(--pen-ink);font-weight:700}
body .cbcg-finder__filters{background:#FFFDF6;border:2px solid var(--ink);border-radius:8px;box-shadow:4px 4px 0 rgba(29,42,35,.12)}
body .cbcg-finder__filters label{font-family:var(--display);font-weight:700;color:var(--ink)}

/* sticky challenge pill on articles */
body .cbcg-sticky{background:var(--forest);color:#fff;border-radius:16px;box-shadow:0 4px 0 var(--forest-2),0 20px 30px -16px rgba(0,0,0,.5)}
body .cbcg-sticky__icon{background:var(--pen);color:#fff}

@media (max-width:760px){
  body:not(.home).single .site-main,body:not(.home).page .site-main{padding:12px 10px 60px}
  body:not(.home).single .inside-article,body:not(.home).page .inside-article{padding:30px 18px 40px 34px;border-radius:3px 12px 12px 3px}
  body:not(.home).single .inside-article::before,body:not(.home).page .inside-article::before{left:20px}
  body .entry-content{font-size:17.5px}
  .cbcg-gradetab{width:82px;height:104px;right:12px;top:-16px}
  .cbcg-gradetab b{font-size:104px;bottom:-24px}
  .cbcg-gradetab i{font-size:16px;top:28px;left:14px;padding:4px 6px}
  .cbcg-gradetab span{left:14px;font-size:9px}
  .cbcg-has-gradetab .entry-header{padding-right:92px}
  .cbcg-index a{grid-template-columns:30px 1fr;}
  .cbcg-index__d{grid-column:2;font-size:18px}
  body .cbcg-endcta{padding:28px 20px 22px}
}
body .cbcg-pagehead{max-width:none}
body .cbcg-404__search{margin-left:0;margin-right:auto;max-width:560px}
body .cbcg-404 .cbcg-chips{justify-content:flex-start}
body .entry-content tbody tr:has(>td:first-child>strong:only-child) td{background:rgba(255,222,89,.45);border-top:3px double var(--ink);font-weight:800}

/* 19 Oct 2026 review: mobile breadcrumbs on one line (Home > ... > parent > current) instead of 3-5 wrapped lines */
@media (max-width:600px){
body .cbcg-breadcrumbs nav ol{flex-wrap:nowrap}
body .cbcg-breadcrumbs nav li:not(:first-child):not(:last-child):not(:nth-last-child(2)){display:none}
body .cbcg-breadcrumbs nav li:first-child:not(:nth-last-child(-n+3))::after{content:"\203A\00a0\2026\00a0\203A"}
body .cbcg-breadcrumbs nav li:nth-last-child(2):not(:first-child){white-space:nowrap;flex:0 0 auto}
body .cbcg-breadcrumbs nav li:nth-last-child(2):not(:first-child) a{display:inline-block;max-width:8.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
}

/* selfreview 2026-10-19 20:15 EAT: report card maker step legends wrapped with a loose line gap at 390px */
.cbch-rc-f legend{line-height:1.25}
