/* One type system. Width, rhythm and wrapping are shared by the whole world. */
:root{--book-ink:#172f46;--book-blue:#234edb;--book-yellow:#ffd54e;--book-pink:#ef4d83;--book-line:#d4dde5;--body-font:'NPW Common',sans-serif;--display-font:'NPW Common',sans-serif}
body,button,input,textarea,select,p,li,dt,dd,figcaption,label,summary,a,blockquote,span,strong,small,output,h1,h2,h3,h4,h1 span,h2 span,h3 span{font-family:'NPW Common',sans-serif!important;font-variation-settings:normal!important}
body{color:var(--book-ink);font-size:16px;line-height:1.6;font-synthesis:none}
h1,h2,h3,h4{font-weight:800!important;text-wrap:balance;letter-spacing:-.045em!important;line-height:1.1!important;overflow-wrap:normal!important;word-break:normal!important;max-width:100%}
h1{font-size:clamp(2.5rem,5.2vw,5.1rem)!important}h2{font-size:clamp(1.75rem,3.1vw,3.2rem)}h3{font-size:clamp(1.25rem,2vw,1.65rem)}
p,li,dd,blockquote,figcaption{font-size:1rem;line-height:1.65;text-wrap:pretty;overflow-wrap:break-word;hyphens:none}
button,input,select,textarea{font-size:1rem!important}small,.small-note{font-size:.88rem!important;line-height:1.55!important}
strong,b{font-weight:800}a{overflow-wrap:anywhere;text-underline-offset:.22em}.wrap{max-width:1240px}.wrap>.wrap{width:auto;max-width:none;margin-inline:0}
:is(section,article,div,aside,header,nav,figure,form){min-width:0}img,video,svg{max-width:100%}figure{margin-inline:0}button,a.primary-action{min-height:44px;height:auto!important;white-space:normal;text-align:center;display:inline-flex;align-items:center;justify-content:center;line-height:1.4!important}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ef4d83;outline-offset:4px}
.site-canvas{overflow-x:clip}.site-header{padding-block:10px!important}.school-header .brand{flex:0 0 155px}.school-header .restored-wordmark{width:155px;height:88px;object-fit:contain}.school-header #main-nav{gap:12px!important}.nav-group summary{font-weight:600!important;white-space:nowrap}.nav-submenu{border:1px solid var(--book-line);border-radius:20px;box-shadow:0 18px 36px #172f4618}.nav-submenu a{white-space:normal}.nav-start{border-radius:16px!important;padding:13px 19px!important}
.book-intro{padding-block:65px 38px;display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:64px}.book-intro h1{margin:0;max-width:13ch}.book-intro p{margin:0 0 5px;font-size:1.16rem;line-height:1.7;max-width:47ch}
.school-opening h1{max-width:14ch}.school-opening p{max-width:48ch}.school-opening figure{aspect-ratio:4/3;border-radius:30px}.school-course-note{align-items:start;border-radius:24px;gap:26px}.school-course-note>p{min-width:240px}.school-unit{grid-template-columns:58px minmax(0,1.2fr) minmax(0,1fr);gap:28px}.school-unit h2{max-width:23ch}.school-unit summary{line-height:1.45}.school-unit figure{border-radius:24px}.school-unit-number{font-size:3.2rem}.school-start aside{border-radius:24px}.school-reading{max-width:850px!important}.school-reading p,.school-reading li{max-width:68ch}
.book-notice{border:2px solid var(--book-blue);border-radius:28px;padding:32px 38px;margin-block:28px 55px;position:relative;background:#fff}.book-notice h2{max-width:25ch;margin:0 0 18px;font-size:2rem}.book-notice p{max-width:78ch}.book-notice a{margin:8px 24px 0 0;display:inline-flex;font-weight:600}.book-sheet{border:1px solid var(--book-line);border-radius:28px;padding:36px;background:white}.book-sheet h2{margin-top:0;max-width:20ch}
.teacher-lead{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;align-items:stretch}.teacher-lead figure{margin:0;border-radius:28px;overflow:hidden}.teacher-lead img{width:100%;height:100%;object-fit:cover}.book-shelf{padding-block:38px}.book-shelf>h2{margin-bottom:32px;max-width:23ch}.book-download-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.book-download-grid article{padding:28px 30px;background:#f5f8ff;border-radius:24px;border:1px solid #d3ddfa}.book-download-grid article:nth-child(2){background:#fff7d4;border-color:#eddd95}.book-download-grid article:nth-child(3){background:#fff0f5;border-color:#f4d3df}.book-download-grid article:nth-child(4){background:#fff;border:2px solid var(--book-blue)}.book-download-grid h3{margin:0 0 14px;max-width:26ch}.book-download{display:flex!important;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;margin:4px 0;border-bottom:1px solid var(--book-line);text-align:left}.book-download span{flex:none;font-size:.82rem;color:var(--book-blue);font-weight:600}.book-download strong{font-weight:600}.book-download-grid article>p{max-width:48ch}.field-row{display:grid;grid-template-columns:70px 1fr 1fr;gap:25px;padding:25px 0;border-top:1px solid var(--book-line);align-items:start}.field-row h3,.field-row p{margin:0}.field-row a{grid-column:2/-1;font-weight:600}.field-row>span{color:var(--book-blue);font-weight:600}
.method-desk{display:grid;grid-template-columns:minmax(160px,.38fr) minmax(0,1fr);gap:30px;margin-block:45px;align-items:start}.method-desk aside{display:flex;flex-direction:column;align-items:center;text-align:left;padding-top:20px}.casebook-character{width:100%;max-height:310px;object-fit:contain;object-position:center bottom;display:block}.method-desk aside p{font-size:1.04rem;max-width:22ch;margin:5px 0}.method-desk aside p strong{display:block;color:var(--book-blue);margin-bottom:8px}.method-sheet{border:2px solid var(--book-blue);border-radius:30px;padding:32px 38px;position:relative;background:white}.method-sheet h2{max-width:24ch;font-size:2.1rem;margin:0 0 15px}.method-lead{font-size:1.14rem}.method-steps{list-style:none;counter-reset:steps;padding:0;margin:26px 0}.method-steps li{counter-increment:steps;position:relative;padding:0 0 22px 45px;margin:0}.method-steps li:before{content:counter(steps);font-weight:800;color:var(--book-blue);position:absolute;left:0;top:0;font-size:1.5rem;line-height:1.4}.method-steps strong{font-size:1.1rem}.method-steps p{margin:4px 0 0}.method-sheet details{border-top:1px solid var(--book-line);padding-block:14px}.method-sheet details a{display:block;margin-block:8px}.method-sheet>a{margin-top:18px}.method-sheet summary{cursor:pointer;font-weight:600}
.case-course-options{margin-block:30px 45px}.case-course-options>details{border:1px solid var(--book-line);border-radius:24px;padding:22px 28px}.case-course-options>details>summary{font-size:1.35rem;font-weight:800;cursor:pointer;line-height:1.4}.case-course-options h3{margin:28px 0 14px}.grade-alignment,.course-route{padding:14px 0;border-bottom:1px solid var(--book-line)}.grade-alignment summary,.course-route summary{font-weight:600;cursor:pointer}.grade-alignment li{margin:10px 0}.grade-alignment li span{display:block}.course-route li{margin:12px 0}.alignment-collection{padding-bottom:55px}.alignment-collection>label{display:block;font-weight:600}.alignment-collection>input{max-width:600px;width:100%;border:1px solid #718196;padding:14px 18px;border-radius:12px;margin:10px 0 28px}.alignment-collection article{border-top:1px solid var(--book-line);padding:22px 0}.alignment-collection article>h2{font-size:1.7rem;margin:0 0 12px}.alignment-collection .case-course-options{margin:12px 0}.alignment-collection article>h2 a{text-decoration:none}.alignment-collection .case-course-options>details{border:0;padding:10px 0}
.making-workbench{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:30px;align-items:start}.writer-sheet{padding:32px;background:#f5f8ff;border-radius:28px;border:1px solid #d3ddfa}.writer-sheet form{display:grid;gap:11px}.writer-sheet label{font-weight:600;margin-top:8px}.writer-sheet :is(input,textarea,select){width:100%;padding:14px;border:1px solid #7b8a9b;border-radius:12px;background:white;color:var(--book-ink);resize:vertical}.writer-sheet select{height:auto;white-space:normal}.writer-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.writer-actions button{padding:12px 18px;border:1px solid var(--book-blue);border-radius:12px;cursor:pointer;background:white;color:var(--book-blue)}.writer-actions .primary-action{background:var(--book-blue);color:white}.writer-tools{border:1px solid var(--book-line);border-radius:28px;padding:28px}.writer-tools h2{font-size:2rem;margin:0 0 18px}.writer-tools details{padding-block:18px;border-bottom:1px solid var(--book-line)}.writer-tools summary{cursor:pointer;font-weight:600;font-size:1.08rem}.writer-tools li{margin-block:12px}.writer-tools a{display:block;margin-top:12px}.tool-access{font-size:.88rem;line-height:1.65;margin-top:22px}
.budget-studio{border:2px solid var(--book-blue);border-radius:28px;padding:32px;margin:40px 0}.budget-studio>h2{font-size:2rem;max-width:28ch}.budget-studio>p{max-width:76ch}.budget-studio label{font-weight:600;display:block}.budget-studio output{padding-left:18px}.budget-studio input{width:min(100%,560px);display:block;margin:18px 0 35px;accent-color:var(--book-blue)}.budget-bars{max-width:820px}.budget-bars>div{display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:center;margin:18px 0}.budget-bars b{font-size:.95rem;font-weight:600}.budget-bars span{display:block;min-width:52px;color:white;border-radius:8px;padding:7px 12px;transition:width .3s ease;font-weight:600;box-sizing:border-box;white-space:nowrap}.cost-bar{background:var(--book-ink)}.confirmed-bar{background:var(--book-blue)}.budget-bars .rental-bar{background:var(--book-yellow);color:var(--book-ink)}.budget-result{font-weight:800;font-size:1.15rem}.budget-studio button{padding:12px 18px;background:white;border:1px solid var(--book-blue);color:var(--book-blue);border-radius:12px;cursor:pointer}
.visual-lab{padding-bottom:30px}.visual-assignment{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;padding:30px 0 45px;border-bottom:1px solid var(--book-line);align-items:start}.visual-assignment figure{margin:0;overflow:hidden;border-radius:26px}.visual-assignment figure img{display:block;width:100%;height:auto}.visual-assignment h2{font-size:2rem;margin:0 0 18px;max-width:23ch}.visual-assignment label{display:block;font-weight:600;margin-top:22px}.visual-assignment textarea{display:block;width:100%;border:1px solid #7b8a9b;border-radius:12px;padding:12px;margin:10px 0 14px}.visual-assignment button{padding:10px 15px;background:var(--book-blue);color:white;border:0;border-radius:12px;cursor:pointer}
.case-artifact{border-radius:22px!important;padding:20px!important;border:1px solid var(--book-line)!important;transform:none!important;box-shadow:none!important}.case-artifact summary{gap:10px!important;line-height:1.5!important}.case-artifact summary strong{font-size:1.3rem!important}.case-artifact>p{max-width:65ch}.episode-story>div{max-width:850px}.episode-story p{font-size:1.13rem}.episode-wayfinding{gap:8px!important;flex-wrap:wrap;position:relative!important}.episode-wayfinding a{flex:1 1 180px;line-height:1.4!important;text-align:left}.episode-cover h1{max-width:14ch}.episode-cover p{max-width:46ch}.season-decision{border-radius:24px!important;padding:24px!important}.season-decision h3{font-size:1.4rem!important;line-height:1.3!important}.season-decision button{height:auto!important;min-height:64px!important;white-space:normal!important;line-height:1.6!important;text-align:left!important;justify-content:flex-start!important;padding:16px 18px!important;border-radius:16px!important}.response-workbench{align-items:start!important}.response-workbench textarea,.episode-draft textarea{min-height:120px;line-height:1.65}.response-workbench h2{font-size:2.3rem;max-width:22ch}.case-learning-note{border:1px solid var(--book-line)!important;border-radius:24px!important;background:#f5f8ff}.optional-culture{border:1px solid var(--book-line)!important;border-radius:24px!important}.feed-fieldnote h3{font-size:2rem;max-width:20ch}.scene-margin{padding:24px!important}.scene-beat{padding-block:16px!important}.scene-beat summary{line-height:1.4!important}.scene-read{margin-top:20px}.season-tickets{gap:24px!important}.season-ticket{transform:none!important;border-radius:26px!important}.season-ticket h3{font-size:1.6rem!important;max-width:25ch}.season-ticket p{max-width:48ch}
.profile-cover{border-radius:28px!important}.profile-identity h1{max-width:18ch}.profile-identity p{max-width:54ch}.profile-details p{line-height:1.7}.feed-post{border-radius:24px!important;border:1px solid var(--book-line)!important;padding:26px!important;transform:none!important;box-shadow:none!important}.feed-post header{align-items:center;gap:15px}.feed-post figure{margin:18px -26px}.feed-post figure img{display:block;width:100%;height:auto}.feed-post figcaption{padding:20px 26px 0}.feed-navigation{gap:0!important;justify-content:flex-start!important;border-bottom:1px solid var(--book-line)}.feed-navigation a{flex:1;padding:17px 14px;text-align:center;text-decoration:none;border-bottom:3px solid transparent}.feed-navigation a[aria-current]{border-color:var(--book-blue);color:var(--book-blue)}.profile-directory article{border-radius:24px!important;transform:none!important}.profile-feed{gap:22px!important}.profile-sidebar{align-self:start}
.footer-invitation{border-radius:30px 30px 0 0!important}.footer-invitation h2{max-width:15ch}.footer-directory{align-items:start}.footer-colophon{flex-wrap:wrap;line-height:1.5}.case-stage{animation:book-page-in .22s ease-out}@keyframes book-page-in{from{opacity:.6;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.book-intro{gap:30px}.making-workbench{grid-template-columns:minmax(0,1fr) 310px}.school-header #main-nav{gap:0!important}.nav-group summary{padding-inline:8px}.school-header .brand{flex-basis:130px}.school-header .restored-wordmark{width:130px}.method-desk{grid-template-columns:170px minmax(0,1fr)}.method-sheet{padding:28px}.footer-directory{gap:24px}}
@media(max-width:800px){.book-intro{grid-template-columns:1fr;gap:22px;padding-top:40px}.book-intro h1{max-width:16ch}.book-intro p{max-width:60ch}.making-workbench,.teacher-lead,.visual-assignment{grid-template-columns:1fr}.book-download-grid{grid-template-columns:1fr}.teacher-lead figure{max-height:340px}.field-row{grid-template-columns:60px 1fr;gap:18px}.field-row p,.field-row a{grid-column:2}.method-desk{grid-template-columns:1fr;gap:8px}.method-desk aside{flex-direction:row;padding-top:0;gap:20px;justify-content:flex-start}.method-desk .casebook-character{width:110px;height:155px}.method-desk aside p{max-width:30ch;margin:0}.method-sheet{padding:24px}.book-notice,.book-sheet,.writer-sheet,.writer-tools,.budget-studio{padding:24px}.school-unit{grid-template-columns:40px minmax(0,1fr)}.school-unit figure{grid-column:2}.school-course-note>p{min-width:0}.budget-bars>div{grid-template-columns:120px 1fr;gap:12px}.case-course-options>details{padding:20px}.visual-assignment h2{max-width:26ch}.book-download-grid article{padding:24px}.school-header .brand{flex-basis:130px}.episode-cover{gap:24px!important}.episode-cover h1{max-width:17ch}.episode-wayfinding a{font-size:.92rem!important;flex-basis:42%;padding:12px!important}.feed-post{padding:22px!important}.feed-post figure{margin-inline:-22px}.footer-invitation h2{max-width:17ch}.nav-submenu{box-shadow:none}}
@media(prefers-reduced-motion:reduce){.case-stage{animation:none}.budget-bars span{transition:none}}
@media print{.site-header,.school-footer,.writer-tools,.writer-actions{display:none!important}.making-workbench{display:block}.writer-sheet{background:white;border:0;padding:0}.writer-sheet textarea{overflow:visible}.book-intro{padding:0}.method-desk,.book-sheet{break-inside:avoid}.case-course-options details{display:block}}
/* Personal feeds have a cover, authored posts and a readable story column. */
.personal-cover{border-radius:28px 28px 0 0!important;padding:34px!important;align-items:center;gap:36px!important}.profile-identity h1{font-size:clamp(2.2rem,4vw,3.7rem)!important;letter-spacing:-.04em!important}.profile-introduction{gap:30px!important}.personal-layout{grid-template-columns:220px minmax(0,1fr);gap:36px!important}.personal-feed .text-post,.personal-feed .profile-note,.personal-feed .profile-background{border-radius:22px!important;box-shadow:none!important;transform:none!important;line-height:1.6}.personal-feed .photo-post{overflow:hidden;border:1px solid var(--book-line);border-radius:24px!important;margin-bottom:24px}.personal-feed .photo-post img{display:block;width:100%;height:auto}.personal-feed .photo-post figcaption{padding:24px!important}.personal-feed h2{font-size:1.6rem!important}.personal-feed h3{font-size:1.2rem!important}.personal-feed dl{gap:12px 26px}.personal-feed dd{line-height:1.6}.cover-note>strong{font-size:clamp(1.5rem,3vw,2.6rem)!important;line-height:1.15;max-width:18ch}
.younger-neighbors,.companion-questions{padding-block:45px}.younger-neighbors>p{max-width:70ch}.younger-neighbors>div{display:grid;grid-template-columns:1fr 1fr;gap:26px}.younger-neighbors article{border:1px solid var(--book-line);border-radius:28px;padding:24px;background:#fff}.younger-neighbors article>a{display:grid;grid-template-columns:140px 1fr;gap:20px;align-items:center;text-decoration:none}.younger-neighbors img{width:140px;height:260px;object-fit:contain}.younger-neighbors h3{margin:0}.younger-neighbors span{font-weight:600;text-decoration:underline}.companion-questions{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px}.companion-questions h2{grid-column:1/-1;max-width:25ch}.companion-questions article{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--book-line);padding-block:15px}.companion-questions img{width:110px;height:160px;object-fit:contain}.companion-questions h3{margin:0 0 10px}.neighbor-page{padding-block:35px}.neighbor-cover{display:grid;grid-template-columns:1fr 280px;gap:30px;align-items:center;padding:30px 42px;border:1px solid var(--book-line);border-radius:30px;margin-block:25px}.neighbor-cover img{width:280px;height:420px;object-fit:contain}.neighbor-cover h1{max-width:13ch}.neighbor-cover blockquote{font-size:1.45rem;max-width:30ch;margin:25px 0;color:var(--book-blue)}.neighbor-links{display:flex;flex-wrap:wrap;gap:16px 30px;padding:20px 0;border-bottom:1px solid var(--book-line)}.neighbor-post,.neighbor-about{max-width:940px;margin:50px auto}.neighbor-post figure{border:1px solid var(--book-line);border-radius:26px;overflow:hidden}.neighbor-post img{width:100%;height:auto;display:block}.neighbor-post figcaption{padding:24px 30px}.neighbor-post aside{background:#fff5cc;border-radius:22px;padding:24px 30px}.neighbor-about p{max-width:67ch}.studio-introduction{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;margin-bottom:55px}.studio-introduction img{border-radius:26px}.studio-introduction h2{max-width:15ch}
@media(max-width:800px){.personal-layout{display:flex;flex-direction:column-reverse}.personal-cover{padding:24px!important}.younger-neighbors>div,.companion-questions,.studio-introduction{grid-template-columns:1fr}.younger-neighbors article>a{grid-template-columns:110px 1fr}.younger-neighbors img{width:110px;height:220px}.neighbor-cover{grid-template-columns:1fr 135px;gap:16px;padding:24px}.neighbor-cover img{width:135px;height:260px}.neighbor-cover h1{font-size:2.2rem!important}.neighbor-cover blockquote{font-size:1.1rem}.neighbor-post figcaption{padding:22px}.studio-introduction{gap:20px}}
@media(max-width:420px){.neighbor-cover{grid-template-columns:1fr}.neighbor-cover img{grid-row:1;width:150px;height:240px;margin:auto}.younger-neighbors article>a{grid-template-columns:90px 1fr}.younger-neighbors img{width:90px}.profile-identity{flex-wrap:wrap}.profile-identity h1{font-size:2rem!important}}
