/* No, Pero Why? editions: teacher guides and student workbooks as illustrated casebooks.
   Pages are US letter (816 x 1056 CSS px at 96 dpi). Body text is 14px (10.5 pt in print). */
@font-face{font-family:'Caveat';src:url('/assets/fonts/caveat-variable.ttf') format('truetype');font-weight:400 700;font-display:swap}
.bk-book,.bk-shelf,.bk-bar{--ink:#142b46;--ink2:#1d3a66;--blue:#124dec;--gold:#ffdc52;--pink:#ee326c;--pinkt:#c2185b;--paper:#fffdf6;--sky:#e8f0ff;--blush:#ffe9ef;--butter:#fff6d6;--line:#c9d4ea;--hand:'Caveat',cursive}

/* ---------- the desk ---------- */
.bk-bar{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;padding-block:16px;font-weight:600}
.bk-bar a{color:var(--blue)}.bk-bar .primary-action{margin-left:auto;color:#fff}
.bk-bar-t b{font-family:var(--display)}
.bk-book{display:grid;grid-template-columns:816px;justify-content:center;gap:36px;padding:40px 12px 70px;margin-inline:-40px;
 background:radial-gradient(circle at 15% 8%,#fff4c9 0,transparent 35%),radial-gradient(circle at 85% 92%,#ffe0ea 0,transparent 35%),#eef3ff}
@media (min-width:1760px){.bk-book{grid-template-columns:repeat(2,816px);column-gap:0}.bk-page.bk-p-cover{grid-column:1/-1;justify-self:center}}
@media (max-width:860px){.bk-book{grid-template-columns:1fr;justify-items:center;gap:18px;padding-inline:0;margin-inline:0}.bk-page{zoom:var(--bk-z,.46)}}

/* ---------- the page ---------- */
.bk-page{position:relative;width:816px;height:1056px;box-sizing:border-box;overflow:hidden;background:var(--paper);color:var(--ink);
 font:450 14px/1.5 var(--body);box-shadow:0 1px 0 rgba(20,43,70,.1),0 22px 40px -22px rgba(20,43,70,.5);display:flex;flex-direction:column;padding:34px 56px 52px}
.bk-page *{box-sizing:border-box}
:where(.bk-page) :is(p,li,dd,dt,td,th,blockquote,figcaption,span,b,em){font-size:inherit;line-height:inherit;color:inherit}
.bk-in{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px}
.bk-page :is(h1,h2,h3,h4){margin:0;color:var(--ink);text-wrap:balance}
.bk-page p{margin:0}
.bk-page ul,.bk-page ol{margin:0;padding-left:18px}
.bk-page li+li{margin-top:4px}
.bk-run{display:flex;justify-content:space-between;gap:20px;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--ink);font:700 12.5px/1.2 var(--body);color:var(--blue)}
.bk-run span:first-child{color:var(--ink)}
.bk-folio{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;z-index:4}
.bk-folio span{min-width:30px;height:30px;padding:0 8px;border-radius:99px;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 13px var(--body)}
.bk-h2{font:650 36px/1.05 var(--display)!important}
.bk-sub{font-size:16px;line-height:1.45;max-width:62ch;font-weight:500}
.bk-lead{font-size:17px;line-height:1.5;max-width:62ch}
.bk-box{border:2px solid var(--ink);border-radius:16px;padding:12px 14px;background:#fff}
.bk-box h3{font:650 16px/1.2 var(--display);margin:0 0 6px}
.bk-box.gold{background:var(--butter)}.bk-box.pink{background:var(--blush)}
.bk-tag{display:inline-block;border-radius:99px;padding:2px 9px;font:750 11.5px/1.4 var(--body);white-space:nowrap}
.bk-tag.fic{background:var(--blush);color:#8a1538}.bk-tag.real{background:#dff3e4;color:#0b5a2a}
.bk-ticks{list-style:none;padding:0!important}.bk-ticks li{position:relative;padding-left:22px}
.bk-ticks li::before{content:"";position:absolute;left:2px;top:5px;width:11px;height:6px;border:solid var(--blue);border-width:0 0 3px 3px;transform:rotate(-45deg)}
.bk-lvl{align-self:flex-start;justify-self:start;width:max-content;max-width:100%;display:inline-block;color:#fff!important;background:var(--ink);color:#fff;border-radius:99px;padding:3px 12px;font:750 12.5px var(--body)}

/* ---------- cover ---------- */
.bk-p-cover{padding:0}
.bk-p-cover .bk-in{display:block;position:relative;height:100%}
.bk-cv-art{position:absolute;inset:0 0 330px 0;margin:0}
.bk-cv-art img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.bk-cv-logo{position:absolute;top:36px;left:44px;width:220px;height:auto;filter:drop-shadow(0 4px 0 rgba(20,43,70,.25))}
.bk-cv-slab{position:absolute;left:0;right:0;bottom:0;height:330px;padding:30px 56px 40px;display:flex;flex-direction:column;justify-content:flex-start;background:var(--f);color:#fff;border-top:10px solid var(--a)}
.bk-cv-slab[style*="#ffdc52;"]{color:var(--ink)}
.bk-cv-slab h1,.bk-cv-slab p{color:inherit}
.bk-cv-kind{align-self:flex-start;width:max-content;display:inline-block;background:#fff;color:var(--ink)!important;border-radius:99px;padding:4px 14px;font:800 14px var(--body);margin-bottom:12px!important}
.bk-cv-slab h1{font:700 64px/.98 var(--display)!important;margin:0 0 10px}
.bk-cv-aud{font:700 20px var(--body)}
.bk-cv-what{font-size:16px;max-width:52ch;margin-top:6px!important}

/* ---------- front matter ---------- */
.bk-flow{list-style:none;padding:0!important;display:grid;grid-template-columns:repeat(6,1fr);counter-reset:f;margin:6px 0 4px!important}
.bk-flow li{position:relative;counter-increment:f;padding:44px 8px 0 0;margin:0!important}
.bk-flow li::before{content:counter(f);position:absolute;top:0;left:0;width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font:700 15px var(--body);z-index:1}
.bk-flow li::after{content:"";position:absolute;top:15px;left:32px;right:0;height:3px;background:var(--gold)}
.bk-flow li:last-child::after{display:none}
.bk-flow b{display:block;font:650 16px/1.15 var(--display)}.bk-flow span{display:block;font-size:13px;line-height:1.35;margin-top:3px}
.bk-front-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;flex:1;min-height:0}
.bk-front-grid>div{display:flex;flex-direction:column;gap:12px;min-height:0}
.bk-meta{display:grid;gap:8px;margin:0}.bk-meta div{display:grid;grid-template-columns:104px 1fr;gap:10px}.bk-meta dt{font-weight:800;color:var(--blue)}.bk-meta dd{margin:0;font-size:13.5px}
.bk-fw{font-size:13px}
.bk-comps{list-style:none;padding:0!important;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bk-comps li{margin:0!important;display:grid;justify-items:center;text-align:center}.bk-comps img{width:64px;height:64px;object-fit:contain}.bk-comps b{font:650 14px var(--display)}.bk-comps span{font-size:12.5px}
.bk-contents{list-style:none;padding:0!important;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;flex:1;align-content:start}
.bk-contents li{margin:0!important;display:grid;grid-template-columns:70px 30px 1fr 30px;gap:9px;align-items:center;padding:3px 0;border-bottom:1.5px dashed var(--line)}
.bk-contents img{width:70px;height:44px;object-fit:cover;border-radius:8px;border:2px solid var(--ink)}
.bk-ct-n{font:700 20px var(--display);color:var(--blue);text-align:center}
.bk-ct-t b{display:block;font:650 14px/1.2 var(--display)}.bk-ct-t em{display:block;font-style:normal;font-size:12px;line-height:1.3}
.bk-ct-p{font-weight:800;text-align:right}

/* ---------- case opener ---------- */
.bk-p-open{padding:0}
.bk-p-open .bk-run{position:absolute;top:0;left:0;right:0;z-index:3;margin:0;padding:14px 56px 22px;border:0;background:linear-gradient(rgba(255,253,246,.95) 55%,rgba(255,253,246,0))}
.bk-p-open .bk-in{display:block;position:relative;height:100%}
.bk-op-art{position:absolute;top:0;left:0;right:0;height:520px;margin:0}
.bk-op-art img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.bk-op-slab{position:absolute;top:436px;left:0;max-width:640px;background:var(--ink);color:#fff;padding:18px 30px 20px 56px;border-radius:0 22px 22px 0;box-shadow:8px 8px 0 var(--gold);z-index:2}
.bk-op-no{font:800 15px var(--body);color:var(--gold)!important}
.bk-op-slab h2{color:#fff;font:700 42px/1.02 var(--display)!important;margin-top:4px}
.bk-op-body{position:absolute;top:602px;left:56px;width:480px;bottom:58px;display:flex;flex-direction:column;gap:12px}
.bk-op-q{font:650 22px/1.25 var(--display)}
.bk-op-q::before{content:"";display:block;width:56px;height:6px;background:var(--pink);border-radius:9px;margin-bottom:10px}
.bk-op-why{font-size:15px;line-height:1.5}
.bk-op-real h3{font:800 13.5px var(--body);color:var(--blue);margin-bottom:4px}
.bk-op-real ul{list-style:none;padding:0}.bk-op-real li{font-size:13px;line-height:1.35}.bk-op-real .bk-tag{margin-right:6px}
.bk-op-make{margin:auto 0 0;display:flex;flex-wrap:wrap;gap:8px 22px;border-top:2px solid var(--ink);padding-top:10px}
.bk-op-make dt{font:800 12.5px var(--body);color:var(--pinkt)}.bk-op-make dd{margin:0;font-weight:600;font-size:14px}
.bk-op-who{position:absolute;right:0;bottom:0;width:280px;height:440px;margin:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end}
.bk-op-who img{width:250px;height:290px;object-fit:contain;object-position:bottom right;display:block}
.bk-op-who blockquote{position:relative;margin:0 30px 10px 0;width:236px;background:#fff;border:2px solid var(--ink);border-radius:18px 18px 4px 18px;padding:10px 14px;font:600 14px/1.4 var(--body);box-shadow:4px 5px 0 var(--gold)}
.bk-op-who blockquote b{display:block;font:700 23px/1 var(--hand)!important;color:var(--blue)}

/* ---------- case file ---------- */
.bk-ev{list-style:none;padding:0!important;display:grid;gap:14px;flex:1;min-height:0;align-content:start}
.bk-ev-row{margin:0!important;display:grid;grid-template-columns:30px minmax(0,1fr) 200px;gap:12px;align-items:start}
.bk-pin{width:30px;height:30px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;font:800 15px var(--body);margin-top:24px}
.bk-ev-art{display:grid;gap:6px;justify-items:start}
.bk-ev-art>div{width:100%}
.bk-ev-note{position:relative;display:grid;grid-template-columns:40px 1fr;gap:8px;align-items:start;border-left:3px dotted var(--pink);padding:22px 0 0 10px}
.bk-ev-note img{width:40px;height:44px;object-fit:contain}
.bk-ev-note p{font:500 19px/1.1 var(--hand)!important;color:var(--blue)!important}
.bk-ev-note:not(:has(img)){grid-template-columns:1fr}
.bk-art-who{font:750 13px var(--body);color:var(--blue)!important;display:flex;gap:8px;flex-wrap:wrap}
.bk-art-who time,.bk-art-hdr time,.bk-art-mast time{color:var(--ink2);font-weight:600}
.bk-art-chat{background:#eef3ff;border:2px solid var(--ink);border-radius:20px;padding:10px 12px;display:grid;gap:6px}
.bk-bub{justify-self:start;max-width:86%;background:#fff;border:1.5px solid var(--line);border-radius:14px 14px 14px 4px;padding:6px 10px;font-size:13.5px}
.bk-bub.me{justify-self:end;background:var(--blue);color:#fff!important;border-color:var(--blue);border-radius:14px 14px 4px 14px}
.bk-art-mail{background:#fff;border:2px solid var(--ink);border-radius:10px;padding:0 14px 10px;display:grid;gap:6px}
.bk-art-hdr{margin:0 -14px!important;padding:6px 14px;background:var(--sky);border-bottom:1.5px solid var(--line);border-radius:8px 8px 0 0;font-size:13px}
.bk-art-news{background:#fbf8ef;border:1.5px solid var(--ink);padding:8px 14px 12px;display:grid;gap:4px}
.bk-art-news p{font-family:Georgia,'Times New Roman',serif!important}
.bk-art-mast{font:700 12.5px var(--body)!important;border-bottom:3px double var(--ink);padding-bottom:4px}
.bk-art-head{font:700 20px/1.15 Georgia,serif!important}
.bk-art-doc{background:#fff;border:1.5px solid var(--ink);padding:10px 16px 12px 20px;box-shadow:3px 3px 0 var(--line);display:grid;gap:5px;border-left:6px solid var(--blue)}
.bk-art-doc.chart,.bk-art-doc.data{border-left-color:var(--gold)}
.bk-cf-foot{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px;align-items:start}
.bk-real{border-top:3px solid var(--ink);padding-top:8px}.bk-real h3{font:650 16px var(--display);margin-bottom:6px}
.bk-real ul{list-style:none;padding:0!important;display:grid;gap:6px}
.bk-real li{margin:0!important;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;font-size:12.5px;line-height:1.35}
.bk-real li img{width:58px;height:58px}
.bk-real b{display:block;font-size:13px}.bk-real em{display:block;font-style:normal;font-weight:600;color:var(--blue)!important}

/* ---------- reasoning ---------- */
.bk-rz{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:18px;flex:1;min-height:0}
.bk-rz-diagram{min-width:0}
.bk-dg-claims{list-style:none;padding:0!important;display:grid;gap:14px;counter-reset:c}
.bk-dg-claims li{counter-increment:c;margin:0!important;display:grid;grid-template-columns:1fr 46px 1fr;align-items:center}
.bk-dg-c,.bk-dg-e{border:2px solid var(--ink);border-radius:16px;padding:12px 14px;min-height:78px;display:flex;align-items:center}
.bk-dg-c{background:#fff;font-weight:600;grid-column:1;grid-row:1}.bk-dg-e{background:var(--butter);grid-column:3;grid-row:1;font-weight:700}
.bk-dg-claims li::after{content:"";grid-column:2;grid-row:1;height:3px;background:var(--blue)}
.bk-dg-claims li::before{content:counter(c);grid-column:2;grid-row:1;justify-self:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font:800 13px var(--body);z-index:1}
.bk-dg-power{list-style:none;padding:0!important;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bk-dg-power li{margin:0!important;border:2px solid var(--ink);border-radius:20px;padding:12px 14px;background:#fff;display:grid;gap:4px}
.bk-dg-power li:first-child{grid-column:1/-1;background:var(--ink);color:#fff}.bk-dg-power li:first-child b{color:var(--gold)}
.bk-dg-power b{font:650 17px/1.2 var(--display)}
.bk-dg-chain{list-style:none;padding:0!important;display:grid;gap:26px}
.bk-dg-chain li{margin:0!important;position:relative;border:2px solid var(--ink);border-radius:16px;padding:12px 14px;background:#fff;display:grid;gap:3px}
.bk-dg-chain li:not(:last-child)::after{content:"";position:absolute;left:40px;bottom:-25px;border:11px solid transparent;border-top:14px solid var(--pink)}
.bk-dg-chain b{font:650 17px/1.2 var(--display)}
.bk-dg-compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bk-dg-compare ul{list-style:none;padding:14px!important;border:2px solid var(--ink);border-radius:18px;display:grid;gap:8px;align-content:start;background:#fff}
.bk-dg-compare ul:first-child{box-shadow:inset 0 6px 0 var(--blue)}.bk-dg-compare ul:last-child{box-shadow:inset 0 6px 0 var(--pink)}
.bk-dg-compare li{margin:0!important}.bk-dg-compare b{display:block}
.bk-words{background:var(--sky);border-radius:18px;padding:14px;align-self:start}
.bk-words h3{font:650 16px var(--display);margin-bottom:8px}
.bk-words ul{list-style:none;padding:0!important;display:grid;gap:10px}
.bk-words li{margin:0!important;display:grid;gap:2px;font-size:13px;line-height:1.4}
.bk-words b{font:650 15px var(--display)}.bk-words i{font:500 18px var(--hand);color:var(--pinkt)!important;font-style:normal}
.bk-words em{font-style:normal;background:#fff;border-radius:8px;padding:4px 6px}

/* ---------- worked example ---------- */
.bk-we{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;align-items:start}
.bk-we-draft{background:#fff;border:2px solid var(--ink);border-radius:6px;padding:14px 20px;font-size:15px;line-height:26px;box-shadow:5px 6px 0 var(--sky);
 background-image:repeating-linear-gradient(transparent 0 25px,#e4ebf7 25px 26px);background-position:0 14px}
.bk-we-draft mark{background:none;color:inherit;padding:0 1px;border-bottom:3px solid}
.bk-we-draft sup{font:800 10px var(--body);margin-left:2px;padding:0 4px;border-radius:99px;color:#fff!important}
.t-evidence{border-color:#1f8a4c!important}.t-evidence sup,.bk-we-notes .t-evidence b{background:#1f8a4c}
.t-gap{border-color:var(--pink)!important}.t-gap sup,.bk-we-notes .t-gap b{background:var(--pink)}
.t-audience{border-color:var(--blue)!important}.t-audience sup,.bk-we-notes .t-audience b{background:var(--blue)}
.t-note sup,.bk-we-notes .t-note b,.t-strength sup,.bk-we-notes .t-strength b{background:var(--ink)}
.bk-we-notes{list-style:none;padding:0!important;display:grid;gap:8px}
.bk-we-notes li{margin:0!important;display:grid;grid-template-columns:22px 1fr;gap:8px;font-size:13px;line-height:1.4}
.bk-we-notes b{width:22px;height:22px;border-radius:50%;color:#fff!important;display:grid;place-items:center;font:800 11px var(--body)}
.bk-we-key{display:flex;gap:16px;font-size:12.5px;font-weight:700}.bk-we-key span{border-bottom:3px solid}
.bk-rev{border:2px solid var(--ink);border-radius:16px;padding:12px 14px;background:var(--butter)}
.bk-rev h3{font:650 16px var(--display);margin-bottom:6px}
.bk-rev>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bk-rev-b,.bk-rev-a{background:#fff;border-radius:12px;padding:8px 10px;font-size:13.5px}
.bk-rev-b{text-decoration:line-through;text-decoration-color:rgba(238,50,108,.55)}
.bk-rev-b b,.bk-rev-a b{display:block;text-decoration:none;font:800 12px var(--body);color:var(--pinkt)!important}
.bk-rev-a b{color:#1f8a4c!important}.bk-rev-w{margin-top:8px!important;font-size:13.5px}

/* ---------- workshop ---------- */
.bk-ws-task{display:grid;gap:6px;background:var(--sky);border-radius:18px;padding:12px 16px}
.bk-ws-t{font:650 18px/1.3 var(--display)}
.bk-ws-task dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin:0}.bk-ws-task dt{font:800 12.5px var(--body);color:var(--blue)}.bk-ws-task dd{margin:0;font-size:13px}
.bk-plan{width:100%;border-collapse:separate;border-spacing:0;border:2px solid var(--ink);border-radius:14px;overflow:hidden;font-size:12.5px;line-height:1.34}
.bk-plan th,.bk-plan td{padding:6px 8px;vertical-align:top;text-align:left;border-bottom:1.5px solid var(--line)}
.bk-plan thead th{background:var(--ink);color:#fff!important;font:750 12.5px var(--body)}
.bk-plan tbody th{width:118px;background:var(--butter);font-weight:600}.bk-plan tbody th b{display:block;font:700 15px var(--display);color:var(--pinkt)!important}
.bk-plan tbody tr:last-child :is(th,td){border-bottom:0}
.bk-ws-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bk-ws-grid .bk-box{font-size:12.5px;line-height:1.4;padding:10px 12px}
.bk-std h3{font:650 14px var(--display);margin-bottom:4px}
.bk-std ul{list-style:none;padding:0!important;display:flex;flex-wrap:wrap;gap:5px}
.bk-std li{margin:0!important;display:flex;gap:5px;align-items:center;border:1.5px solid var(--ink);border-radius:99px;padding:2px 9px 2px 2px;font-size:12px}
.bk-std code{background:var(--gold);border-radius:99px;padding:1px 7px;font:700 12px var(--body)}

/* ---------- student work ---------- */
.bk-wk-head{display:grid;gap:6px}
.bk-wk-task{font:650 23px/1.22 var(--display)!important}
.bk-wk-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin:0}.bk-wk-meta dt{font:800 12.5px var(--body);color:var(--pinkt)}.bk-wk-meta dd{margin:0;font-size:13.5px}
.bk-wk{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:16px;flex:1;min-height:0}
.bk-wk-main{display:flex;flex-direction:column;gap:10px;min-width:0}
.bk-wk-side{display:flex;flex-direction:column;gap:10px}
.bk-wk-side .bk-box{font-size:12.5px;line-height:1.4;padding:10px 12px}
.bk-checks{list-style:none;padding:0!important}.bk-checks li{position:relative;padding-left:22px}
.bk-checks li::before{content:"";position:absolute;left:0;top:2px;width:13px;height:13px;border:2px solid var(--ink);border-radius:3px}
.bk-opts{list-style:none;padding:0!important}.bk-opts b{display:block;color:var(--blue)!important}
.bk-qr{margin:auto 0 0;display:grid;grid-template-columns:76px 1fr;gap:8px;align-items:center;font-size:12px;line-height:1.35}
.bk-qr img{width:76px;height:76px}
.bk-field{display:flex;flex-direction:column;gap:3px}
.bk-wk-main>.bk-field:last-child,.bk-p-reason .bk-in>.bk-field:last-child,.bk-p-close .bk-in>.bk-field:last-child{flex:1;min-height:0}
.bk-wk-main>.bk-field:last-child .bk-field-box,.bk-p-reason .bk-in>.bk-field:last-child .bk-field-box,.bk-p-close .bk-in>.bk-field:last-child .bk-field-box{flex:1;height:auto;min-height:calc(var(--n) * 26px + 10px)}
.bk-field-l{font-size:13.5px}.bk-field-l b{font-weight:800}.bk-field-l span{color:var(--ink2)!important}
.bk-field-box{height:calc(var(--n) * 26px + 10px);border:2px solid var(--ink);border-radius:12px;background:#fff repeating-linear-gradient(transparent 0 25px,#dbe3f2 25px 26px);background-position:0 5px}
.bk-cols2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bk-cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bk-f-comparison .bk-cols2:first-child .bk-field:first-child .bk-field-box{box-shadow:inset 6px 0 0 var(--blue)}
.bk-f-comparison .bk-cols2:first-child .bk-field:last-child .bk-field-box{box-shadow:inset 6px 0 0 var(--pink)}
.bk-frames{list-style:none;padding:0!important;display:grid;grid-template-columns:repeat(var(--cols,2),1fr);gap:10px}
.bk-frames li{margin:0!important;border:2px solid var(--ink);border-radius:14px;padding:8px;display:grid;gap:5px;background:#fff}
.bk-frames li>span{font:800 12.5px var(--body);color:var(--blue)!important}
.bk-frame-box{height:150px;border:2px dashed var(--line);border-radius:10px;background:#f7f9ff;display:grid;place-items:center;font-size:12px;color:var(--ink2)}
.bk-frames.slides .bk-frame-box{height:120px}
.bk-frame-box.tall{height:auto;min-height:420px}
.bk-poster{display:grid;grid-template-columns:.9fr 1.1fr;gap:12px}.bk-poster>div:last-child{display:flex;flex-direction:column;gap:8px}
.bk-tl{list-style:none;padding:0!important;display:grid;gap:6px}
.bk-tl li{margin:0!important;display:grid;grid-template-columns:120px 1fr;gap:10px}
.bk-act{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 22px;margin:0 -56px -52px;padding:14px 56px 52px;background:var(--blue);color:#fff}
.bk-act h3{color:var(--gold)!important;font:650 20px/1.1 var(--display);white-space:nowrap}
.bk-act p{font-size:14.5px;color:#fff!important}
.bk-p-work .bk-folio span{background:#fff;color:var(--ink)!important}

/* ---------- closing ---------- */
.bk-rubric{width:100%;border-collapse:separate;border-spacing:0;border:2px solid var(--ink);border-radius:14px;overflow:hidden;font-size:12.5px;line-height:1.4}
.bk-rubric th,.bk-rubric td{padding:8px;vertical-align:top;text-align:left;border-bottom:1.5px solid var(--line);border-right:1.5px solid var(--line)}
.bk-rubric thead th{background:var(--ink);color:#fff!important;font:750 12.5px var(--body)}
.bk-rubric tbody th{font:650 14px var(--display);background:var(--butter)}

.bk-track{width:100%;border-collapse:separate;border-spacing:0;border:2px solid var(--ink);border-radius:14px;overflow:hidden;font-size:12.5px}
.bk-track th,.bk-track td{padding:5px 8px;text-align:left;border-bottom:1.5px solid var(--line);border-right:1.5px solid var(--line)}
.bk-track thead th{background:var(--ink);color:#fff!important;font:750 12px var(--body)}
.bk-track tbody th{font-weight:600;width:44%}.bk-track tbody th b{display:inline-block;width:24px;color:var(--blue)}
.bk-p-support .bk-rubric{font-size:12px}
.bk-small{font-size:12px;margin-top:4px!important}
.bk-p-workshop .bk-in{gap:12px}.bk-p-workshop .bk-ws-task{padding:10px 14px}.bk-p-workshop .bk-ws-grid .bk-box{padding:9px 12px}
.bk-asks{list-style:none;padding:0!important;display:grid;gap:8px}
.bk-asks li{margin:0!important;display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:start;font-size:12.5px;line-height:1.4}
.bk-asks img{width:34px;height:38px;object-fit:contain}.bk-asks b{display:block;color:var(--blue)}
/* ---------- shelf ---------- */
.bk-shelf{padding-block:30px 70px}
.bk-shelf header{max-width:780px;margin-bottom:26px}
.bk-shelf h1{font-size:clamp(2.6rem,6vw,4.4rem);margin:0 0 12px}
.bk-shelf header p{font-size:1.1rem}
.bk-shelf-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:34px 26px}
.bk-spine{display:grid;gap:12px;text-decoration:none;color:var(--ink)}
.bk-mini{position:relative;aspect-ratio:8.5/11;background:var(--f);border:3px solid var(--ink);border-radius:6px 14px 14px 6px;box-shadow:inset 10px 0 0 rgba(0,0,0,.14),6px 8px 0 var(--ink);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:12px;transition:transform .2s}
.bk-spine:hover .bk-mini{transform:translateY(-4px) rotate(-1deg)}
.bk-mini img{position:absolute;inset:0 0 34% 0;width:100%;height:66%;object-fit:cover}
.bk-mini b{position:relative;background:#fff;border:2px solid var(--ink);border-radius:10px;padding:5px 9px;font:650 1rem/1.15 var(--display);box-shadow:3px 3px 0 var(--a)}
.bk-mini em{position:relative;font-style:normal;margin-top:6px;align-self:flex-start;background:var(--ink);color:#fff;border-radius:99px;padding:2px 9px;font-weight:750;font-size:.82rem}
.bk-spine-label b{display:block;font:650 1.05rem var(--display)}.bk-spine-label{font-size:.95rem}
@media (prefers-reduced-motion:reduce){.bk-spine:hover .bk-mini{transform:none}}

/* ---------- print ---------- */
/* print uses static instances of the same fonts, so PDFs embed real fonts (variable fonts print as bulky Type 3 glyphs) */
@font-face{font-family:'SatoshiP';src:url('/assets/fonts/print/satoshi-450.woff2') format('woff2');font-weight:450;font-display:block}
@font-face{font-family:'SatoshiP';src:url('/assets/fonts/print/satoshi-500.woff2') format('woff2');font-weight:500;font-display:block}
@font-face{font-family:'SatoshiP';src:url('/assets/fonts/print/satoshi-600.woff2') format('woff2');font-weight:600;font-display:block}
@font-face{font-family:'SatoshiP';src:url('/assets/fonts/print/satoshi-700.woff2') format('woff2');font-weight:700;font-display:block}
@font-face{font-family:'SatoshiP';src:url('/assets/fonts/print/satoshi-750.woff2') format('woff2');font-weight:750;font-display:block}
@font-face{font-family:'SatoshiP';src:url('/assets/fonts/print/satoshi-800.woff2') format('woff2');font-weight:800;font-display:block}
@font-face{font-family:'ClashP';src:url('/assets/fonts/print/clash-650.woff2') format('woff2');font-weight:650;font-display:block}
@font-face{font-family:'ClashP';src:url('/assets/fonts/print/clash-700.woff2') format('woff2');font-weight:700;font-display:block}
@font-face{font-family:'CaveatP';src:url('/assets/fonts/print/caveat-500.woff2') format('woff2');font-weight:500;font-display:block}
@font-face{font-family:'CaveatP';src:url('/assets/fonts/print/caveat-700.woff2') format('woff2');font-weight:700;font-display:block}
@page{size:letter;margin:0}
@media print{
 html,body{background:#fff!important}
 .site-header,.school-header,.skip,.bk-bar,.tool-dock,.gz-unlock,.gz-sticker{display:none!important}
 body>*:not(.site-canvas),.site-canvas>*:not(main){display:none!important}
 .site-canvas,main{margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;border-radius:0!important;background:#fff!important}
 main>*:not(.bk-book){display:none!important}
 .bk-book{display:block;padding:0;margin:0;background:none;--body:'SatoshiP',Arial,sans-serif;--display:'ClashP','SatoshiP',Arial,sans-serif;--hand:'CaveatP',cursive}
 .bk-page{width:816px;height:1056px;border-radius:0!important;box-shadow:none;break-after:page;margin:0!important;zoom:1!important}
}
.bk-p-reason .bk-rz{flex:none}
.bk-p-reason .bk-rz-diagram,.bk-p-reason .bk-words{overflow:hidden}

/* ---------- anchor charts ---------- */
.ac-intro{padding-block:30px 20px}.ac-intro h1{font-size:clamp(2.6rem,6vw,4.4rem);margin:0 0 10px}.ac-intro p{font-size:1.1rem;max-width:62ch}
.ac-index{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:14px 0 18px}
.ac-index a{display:inline-block;border:2px solid #142b46;border-radius:99px;padding:6px 14px;font-weight:700;color:#142b46;text-decoration:none;background:#fff}
.ac-page{padding:40px 56px 52px}
.ac-head{display:grid;gap:16px;border-bottom:8px solid var(--c);padding-bottom:18px}
.ac-logo{width:150px;height:auto}
.ac-head h2{font:700 60px/.98 var(--display)!important;color:var(--ink)}
.ac-steps{list-style:none;padding:12px 0!important;display:grid;gap:10px;counter-reset:s;flex:1;align-content:space-evenly;position:relative}
.ac-steps::before{content:"";position:absolute;left:41px;top:40px;bottom:40px;width:6px;border-radius:9px;background:var(--c);opacity:.25}
.ac-steps li{counter-increment:s;margin:0!important;position:relative;display:grid;grid-template-columns:88px 1fr;gap:2px 22px;align-items:center}
.ac-steps li::before{content:counter(s);grid-row:span 2;width:88px;height:88px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font:700 42px var(--display);box-shadow:4px 5px 0 var(--gold);z-index:1}
.ac-steps b{font:650 36px/1.05 var(--display);color:var(--ink)}
.ac-steps span{font-size:21px;line-height:1.35}
.ac-steps[style*="--k:6"] b{font-size:30px}.ac-steps[style*="--k:6"] span{font-size:18px}.ac-steps[style*="--k:6"] li::before{width:72px;height:72px;font-size:34px}.ac-steps[style*="--k:6"] li{grid-template-columns:72px 1fr}.ac-steps[style*="--k:6"]::before{left:33px}
.ac-steps[style*="--k:5"] b{font-size:33px}.ac-steps[style*="--k:5"] span{font-size:19px}
.ac-foot{display:grid;grid-template-columns:260px 1fr;gap:18px;align-items:end}
.ac-who{margin:0;display:grid;grid-template-columns:110px 1fr;align-items:end;gap:6px}
.ac-who img{width:120px;height:140px;object-fit:contain}
.ac-who blockquote{margin:0 0 30px;background:#fff;border:2px solid var(--ink);border-radius:18px 18px 18px 4px;padding:10px 12px;font:700 19px/1.1 var(--hand)!important;color:var(--blue)!important;box-shadow:3px 4px 0 var(--gold)}
.ac-stems{background:var(--butter);border:2px solid var(--ink);border-radius:18px;padding:12px 16px}
.ac-stems h3{font:650 18px var(--display);margin-bottom:6px}
.ac-stems ul{list-style:none;padding:0!important;display:grid;gap:4px}
.ac-stems li{margin:0!important;font:600 18px/1.35 var(--body)}.ac-stems li::before{content:"“";color:var(--pinkt);font-weight:800;margin-right:2px}
.ac-note{font-size:12px;margin-top:8px!important}
/* reasoning diagrams from case data */
.bk-rz{grid-template-columns:minmax(0,1fr) 210px}
.bk-matrix{width:100%;border-collapse:separate;border-spacing:0;border:2px solid var(--ink);border-radius:14px;overflow:hidden;font-size:12.5px;line-height:1.35}
.bk-matrix th,.bk-matrix td{padding:7px 9px;vertical-align:top;text-align:left;border-bottom:1.5px solid var(--line);border-right:1.5px solid var(--line)}
.bk-matrix thead th{background:var(--ink);color:#fff!important;font-weight:600}.bk-matrix thead th span{display:block;color:var(--gold)!important;font-weight:800;font-size:12px}
.bk-matrix tbody th{font-weight:500;background:#fff}.bk-matrix tbody th em{display:block;font-style:normal;color:var(--blue)!important;font-weight:700;font-size:12px;margin-top:3px}
.bk-matrix td{width:22%;text-align:center;vertical-align:middle;background:var(--paper)}
.bk-matrix td .bk-field-box{height:30px;border-width:1.5px;background:#fff}
.bk-ev-n{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--blue);color:#fff!important;font:800 11px var(--body);margin-right:6px}
.rel-yes,.rel-no,.rel-mid{display:inline-block;border-radius:99px;padding:3px 10px;font:800 12px var(--body)}
.rel-yes{background:#dff3e4;color:#0b5a2a!important}.rel-no{background:var(--blush);color:#8a1538!important}.rel-mid{background:var(--sky);color:var(--blue)!important}
.bk-gaps{margin-top:12px;background:var(--blush);border:2px solid var(--ink);border-radius:14px;padding:10px 14px}.bk-gaps h3{font:650 15px var(--display);margin-bottom:4px}
.bk-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:column;gap:12px}
.bk-map-col{display:grid;gap:8px;align-content:start}
.bk-map-col>div{border:2px solid var(--ink);border-radius:14px;padding:8px 10px;background:#fff;font-size:12.5px;line-height:1.35}
.bk-map-col>div b{display:block;font:800 12px var(--body);color:var(--blue)!important;margin-bottom:3px}
.bk-map-col>div p+p{margin-top:4px!important}
.bk-map-d{background:var(--ink);color:#fff!important;border-radius:14px;padding:10px 12px;font:650 15px/1.25 var(--display)}
.bk-map-in{background:var(--butter)!important}
.bk-chain{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:14px}
.bk-chain-c{background:var(--ink);color:#fff!important;border-radius:14px;padding:10px 12px;font:650 15px/1.25 var(--display)}
.bk-chain-col ol{list-style:none;padding:0!important;display:grid;gap:18px;margin-top:18px!important}
.bk-chain-col li{position:relative;margin:0!important;border:2px solid var(--ink);border-radius:14px;padding:9px 11px;background:#fff;font-size:12.5px;line-height:1.35;display:grid;gap:4px}
.bk-chain-col li::before{content:"";position:absolute;left:24px;top:-18px;border:8px solid transparent;border-top:11px solid var(--pink)}
.bk-aff{display:inline-block;background:var(--sky);border-radius:99px;padding:2px 8px;font-weight:700;font-size:12px}
.bk-chain-col em{font-style:normal;font-weight:700;color:var(--blue)!important;font-size:12px}
.bk-accs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px}
.bk-acc{border:2px solid var(--ink);border-radius:16px;padding:10px 12px;background:#fff;font-size:13px;line-height:1.4}.bk-acc:nth-child(1){box-shadow:inset 0 6px 0 var(--blue)}.bk-acc:nth-child(2){box-shadow:inset 0 6px 0 var(--pink)}
.bk-acc b{display:block;font:650 15px var(--display);margin-bottom:4px}
.bk-cmp-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.bk-cmp{border:2px solid var(--ink);border-radius:16px;padding:10px 12px;font-size:13px;line-height:1.4}.bk-cmp.yes{background:#eef9f1}.bk-cmp.no{background:var(--blush)}
.bk-cmp h3{font:650 15px var(--display);margin-bottom:4px}.bk-cmp-check{margin-top:10px!important;font-size:13px}
.t-strength{border-color:var(--ink)!important}
.bk-art-acct{margin:0;background:#fff;border:1.5px solid var(--ink);border-radius:4px 18px 18px 18px;padding:10px 14px;display:grid;gap:4px}
.bk-art-acct blockquote{margin:0;font-style:italic}.bk-art-acct figcaption{font:750 12.5px var(--body);color:var(--blue)!important}
.bk-art-doc.statement{border-left-color:var(--ink);background:linear-gradient(#fff,#fff) padding-box}
.bk-art-doc.policy .bk-art-who{color:var(--ink)!important}
.bk-art-doc p,.bk-art-mail p,.bk-art-acct p{font-size:13px;line-height:1.42}
.bk-opts-strip{background:var(--sky);border-radius:14px;padding:8px 12px}
.bk-opts-strip h3{font:650 14px var(--display);margin-bottom:4px}
.bk-opts-strip .bk-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;font-size:12px;line-height:1.35}
.bk-opts-strip .bk-opts li{margin:0!important}
.bk-p-reason .bk-words{max-height:100%;overflow:hidden}
.bk-p-file .bk-ev{overflow:hidden}
.bk-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;flex:1;min-height:0}
.bk-plan-grid>div{display:flex;flex-direction:column;gap:10px;min-height:0}
.bk-plan-grid .bk-box{font-size:12.5px;line-height:1.4}
.bk-sup{list-style:none;padding:0!important;display:grid;gap:6px}.bk-sup b{display:block;color:var(--blue)!important}
.bk-p-front .bk-lead b{display:block;margin-bottom:4px}
.bk-cf-full{grid-template-columns:1fr!important}
.bk-cf-full .bk-real li{grid-template-columns:76px 1fr}.bk-cf-full .bk-real li img{width:76px;height:76px}

.bk-frames[style*='--cols:3'] .bk-frame-box{height:190px}
