:root{--font-calibri: Calibri, "Gill Sans", "Trebuchet MS", sans-serif;--font-segoe: "Segoe UI", Calibri, "Trebuchet MS", sans-serif;--font-arial: Arial, "Helvetica Neue", Helvetica, Calibri, sans-serif;--font-helvetica: "Helvetica Neue", Helvetica, Arial, Calibri, sans-serif;--font-franklin: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;--font-avenir: Avenir, "Avenir Next", "Segoe UI", Calibri, sans-serif;--font-inter: Inter, "Segoe UI", Calibri, Arial, sans-serif;--font-clean-sans: "Segoe UI", "Helvetica Neue", Arial, sans-serif}:root{--bg-lilac: #fff;--bg-lilac-deep: #f5f5f5;--ink: #131117;--line: rgba(19, 17, 23, .18);--font-body: Arial, "Helvetica Neue", Helvetica, var(--font-clean-sans)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--bg-lilac);color:#1a1a1a;min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;vertical-align:middle}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{position:fixed;top:0;left:0;z-index:50;min-width:min(14rem,72vw);padding:clamp(1.25rem,3vw,1.75rem) clamp(1.5rem,4vw,2rem) clamp(1.5rem,4vw,2rem);background:var(--bg-lilac)}.site-body{display:grid;grid-template-rows:1fr auto;flex:1;min-height:100vh;min-width:0}.site-logo{font-size:1.08rem;font-weight:600;letter-spacing:.02em;text-transform:lowercase;transition:opacity .2s ease;margin-bottom:.75rem}.site-logo:hover{opacity:.55}.site-nav{display:flex;flex-direction:column;align-items:flex-start;gap:0}.nav-link{font-size:.9rem;font-weight:500;letter-spacing:.06em;text-transform:lowercase;color:#666;transition:color .2s ease;line-height:1.2}.nav-link:hover,.nav-link.is-active{color:#1a1a1a}.site-footer{padding:clamp(1.5rem,4vw,2.5rem) clamp(1.5rem,5vw,4rem) clamp(1.5rem,4vw,2.5rem);text-align:center}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem 1.25rem}.footer-link{font-size:.8rem;letter-spacing:.06em;color:#666;transition:color .2s ease}.footer-link:hover{color:#1a1a1a}.about-main{display:flex;align-items:center;justify-content:center;padding:clamp(1rem,3vw,2rem) clamp(1.5rem,6vw,4.5rem);min-height:0}.about-statement{max-width:min(44rem,94vw);margin:0 auto;text-align:center}.about-statement-lead{font-family:var(--font-body);font-size:clamp(2rem,5.2vw,3rem);font-weight:700;letter-spacing:.02em;line-height:1.05;color:#000;text-wrap:balance}.about-statement-sub{margin-top:.35rem;font-family:var(--font-body);font-size:clamp(1.75rem,4.5vw,2.65rem);font-weight:400;letter-spacing:.02em;line-height:1.05;color:#000;text-wrap:balance}.home-main{flex:1;padding:clamp(1.5rem,4vw,3rem) clamp(1.5rem,6vw,4.5rem) clamp(3rem,8vw,6rem);max-width:1200px;margin:0 auto;width:100%}.home-main--profile{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding-top:clamp(2rem,8vw,5rem);padding-bottom:clamp(2rem,8vw,4rem)}.home-main--profile .home-bio{text-align:justify;hyphens:auto;-webkit-hyphens:auto;max-width:min(38rem,100%);width:100%;margin:0 auto;padding:clamp(1rem,3vw,2rem) 0}.home-main--profile .home-bio .prose p{text-align:justify;text-wrap:pretty}.home-main--profile .home-bio .home-bio-lead{display:block;font-weight:600;color:#1a1a1a;margin-bottom:.9rem;text-align:left;text-wrap:balance}.home-bio .prose p{font-size:.95rem;line-height:1.75;color:#444;margin-bottom:1.1rem}.home-bio .prose p:last-child{margin-bottom:0}.home-bio .prose a{border-bottom:1px solid #ccc;transition:border-color .2s ease,color .2s ease}.home-bio .prose a:hover{border-color:#1a1a1a;color:#1a1a1a}.hub-section{width:100%;max-width:min(42rem,100%);margin:0 auto;padding-top:clamp(1.5rem,4vw,2.5rem)}.hub-section-title{font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#888;margin-bottom:1.25rem;text-align:center}.hub-grid{display:grid;gap:.85rem}@media(min-width:560px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.hub-card{display:flex;flex-direction:column;gap:.35rem;padding:1.15rem 1.2rem;border:1px solid #eaeaea;background:#fff;transition:border-color .2s ease,background-color .2s ease}.hub-card:hover{border-color:#ccc;background:var(--bg-lilac-deep)}.hub-card:focus-visible{outline:2px solid #1a1a1a;outline-offset:2px}.hub-card-label{font-size:.9rem;font-weight:600;letter-spacing:.04em;text-transform:lowercase;color:#1a1a1a}.hub-card-desc{font-size:.82rem;line-height:1.55;color:#666}.page-wrap{flex:1;padding:clamp(3rem,10vw,5.5rem) clamp(1.5rem,6vw,4.5rem) clamp(4rem,12vw,7rem);max-width:min(42rem,92vw);margin:0 auto;width:100%}.page-wrap--wide{max-width:min(52rem,96vw)}.page-wrap--curriculum{max-width:min(72rem,96vw)}.prose p.curriculum-intro{font-size:clamp(1.2rem,2.5vw,1.45rem);line-height:1.3;color:#1a1a1a;margin-bottom:2.25rem;max-width:none;width:100%}.curriculum-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,2.5rem);align-items:start;margin-top:2rem}.curriculum-school{padding:clamp(1.25rem,3vw,1.75rem);border-radius:2px;background:#fefefe;box-shadow:inset 0 0 0 1px #ff80406b}.curriculum-school--parsons{box-shadow:inset 0 0 0 1px #a484ff6b}.curriculum-school-heading{margin:0 0 .75rem;padding-bottom:.75rem;line-height:1.2;border-bottom:2px solid #131117}.prose .curriculum-school-heading{margin-top:0;margin-bottom:.75rem;font-size:inherit;font-weight:inherit}.curriculum-school-primary,.curriculum-school-secondary{display:block}.curriculum-school-primary{font-size:1.08rem;font-weight:700;letter-spacing:.01em;text-transform:none;color:#131117;margin-bottom:.3rem}.curriculum-school-secondary{font-size:.74rem;font-weight:500;letter-spacing:.01em;color:#888}.curriculum-school .curriculum-note{margin-bottom:1rem}.curriculum-note{color:#3a3a3a;font-size:.85rem;line-height:1.6}.curriculum-ref{display:inline;border-bottom:none;color:#1a1a1a;font-size:.75em;vertical-align:super;line-height:0;text-decoration:none;letter-spacing:.02em;margin-left:.05em}.curriculum-ref:hover{color:#666}.curriculum-category h3{margin-top:1.5rem}.curriculum-category:first-of-type h3{margin-top:.25rem}.curriculum-footnotes{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line)}.curriculum-footnotes-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,3.5rem);align-items:start}.curriculum-footnotes-title{font-size:.7rem!important;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#888!important;margin-top:0!important;margin-bottom:.6rem!important}.curriculum-footnotes-list{margin:0 0 0 1.1rem;padding:0;font-size:.75rem;line-height:1.5;color:#777}.curriculum-footnotes-list li{margin-bottom:.35rem}.curriculum-footnotes-list a{border-bottom-color:#ddd;color:#666}.curriculum-footnotes-list a:hover{color:#1a1a1a;border-bottom-color:#1a1a1a}.curriculum-footnotes-label{color:#777}.curriculum-footnotes-sep{color:#bbb}@media(max-width:900px){.curriculum-columns{grid-template-columns:1fr;gap:2.5rem}.curriculum-footnotes-columns{grid-template-columns:1fr;gap:1.5rem}}.page-heading{font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#888;margin-bottom:1.5rem}.page-title{font-size:clamp(1.35rem,3vw,1.65rem);font-weight:600;letter-spacing:.01em;text-transform:lowercase;color:#1a1a1a;margin-bottom:1.25rem;text-wrap:balance}.prose p{font-size:.95rem;line-height:1.75;color:#444;margin-bottom:1.1rem}.prose p:last-child{margin-bottom:0}.prose a{border-bottom:1px solid #ccc;transition:border-color .2s ease,color .2s ease}.prose a:hover{border-color:#1a1a1a;color:#1a1a1a}.prose h2{font-size:1.05rem;font-weight:600;color:#1a1a1a;margin-top:2.5rem;margin-bottom:.75rem}.prose h3{font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#1a1a1a;margin-top:2rem;margin-bottom:.5rem}.prose ul{margin:0 0 1.1rem 1.1rem;font-size:.95rem;line-height:1.75;color:#444}.prose li{margin-bottom:.35rem}.prose .curriculum-category ul{line-height:1.3;margin-bottom:.75rem;color:#333}.prose .curriculum-category li{margin-bottom:0;line-height:1.3}.prose code{font-size:.85em;color:#333}.textbook-list{list-style:none;display:flex;flex-direction:column;gap:.85rem;margin-top:1.5rem}.textbook-card{border:1px solid #eaeaea;padding:1.15rem 1.2rem}.textbook-card-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.45rem}.textbook-author{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#888}.textbook-role{font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:lowercase;color:#666;border:1px solid #e0e0e0;padding:.15rem .45rem}.textbook-title{font-size:.98rem;font-weight:600;line-height:1.45;color:#1a1a1a;margin-bottom:.35rem}.textbook-meta{font-size:.82rem;color:#777;margin-bottom:.35rem}.textbook-note{font-size:.85rem;line-height:1.6;color:#555}.resources-sections{display:flex;flex-direction:column;gap:.65rem;margin-top:1.25rem}.resources-section{background:#fff;border:1px solid rgba(19,17,23,.12)}.resources-section--orange{border-color:#ff80406b}.resources-section--orange>.resources-section-summary:before{color:#d2622ad9}.resources-section--orange[open]>.resources-section-body{border-top-color:#ff804038}.resources-section--turquoise{border-color:#60d2d27a}.resources-section--turquoise>.resources-section-summary:before{color:#38a8a8d9}.resources-section--turquoise[open]>.resources-section-body{border-top-color:#60d2d238}.resources-section--sand{border-color:#c4a88285}.resources-section--sand>.resources-section-summary:before{color:#9e805ce0}.resources-section--sand[open]>.resources-section-body{border-top-color:#c4a8823d}.resources-section-summary{display:flex;align-items:center;padding:.95rem 1.05rem;cursor:pointer;list-style:none}.resources-section-summary::-webkit-details-marker{display:none}.resources-section-summary:before{content:"+";flex-shrink:0;width:1.1rem;margin-right:.55rem;font-size:.95rem;font-weight:600;color:#666}.resources-section[open]>.resources-section-summary:before{content:"−"}.resources-section-title{font-size:.82rem;font-weight:600;color:#131117;line-height:1.35}.resources-section-body{padding:0 1.05rem 1.1rem;border-top:1px solid rgba(19,17,23,.08)}.resources-section-body>:first-child{margin-top:1rem}.resources-section-note,.resources-section-meta{font-size:.82rem;line-height:1.5;color:#555;margin:0 0 1rem;max-width:52rem}.resources-section-meta{font-size:.75rem;color:#777;margin:.85rem 0 0}.resources-section-note a,.resources-section-meta a{color:inherit;text-decoration:underline;text-underline-offset:.15em}.resources-section-note a:hover,.resources-section-meta a:hover{color:#131117}.textbook-reference-footnote{font-size:.72rem;line-height:1.4;color:#777;margin:.55rem 0 0;max-width:52rem}.textbook-filters-panel{margin:0 0 1rem;border:1px solid rgba(19,17,23,.12);background:#fff}.textbook-filters-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;cursor:pointer;list-style:none;user-select:none}.textbook-filters-summary::-webkit-details-marker{display:none}.textbook-filters-summary:before{content:"+";flex-shrink:0;width:1.1rem;font-size:.95rem;font-weight:600;color:#666}.textbook-filters-panel[open]>.textbook-filters-summary:before{content:"−"}.textbook-filters-summary-label{flex:1;font-size:.82rem;font-weight:600;color:#131117;line-height:1.35}.textbook-filters-summary-meta{font-size:.72rem;font-weight:500;color:#666;padding:.2rem .55rem;border:1px solid rgba(19,17,23,.12);border-radius:999px;background:#fafafa}.textbook-filters-body{padding:0 1rem 1rem;border-top:1px solid rgba(19,17,23,.08)}.textbook-filters-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem 1rem;padding-top:1rem}.textbook-filter-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.textbook-filter-multiselect{position:relative}.textbook-filter-field-label{font-size:.74rem;font-weight:600;color:#444;line-height:1.3}.textbook-filter-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font:inherit;font-size:.78rem;line-height:1.3;color:#666;text-align:left;background-color:#fff;border:1px solid rgba(19,17,23,.18);border-radius:.2rem;padding:.48rem 2rem .48rem .65rem;cursor:pointer;position:relative;transition:border-color .15s ease,box-shadow .15s ease,color .15s ease}.textbook-filter-trigger:after{content:"";position:absolute;right:.85rem;top:50%;width:.35rem;height:.35rem;border-right:1.5px solid #666;border-bottom:1.5px solid #666;transform:translateY(-65%) rotate(45deg);pointer-events:none}.textbook-filter-trigger:hover{border-color:#13111759}.textbook-filter-trigger:focus-visible{outline:none;border-color:#131117;box-shadow:0 0 0 2px #13111714}.textbook-filter-trigger.has-selection{color:#131117}.textbook-filter-trigger-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.textbook-filter-menu{position:absolute;top:calc(100% + .3rem);left:0;right:0;z-index:20;max-height:14rem;overflow-y:auto;background:#fff;border:1px solid rgba(19,17,23,.14);border-radius:.25rem;padding:.35rem;box-shadow:0 8px 24px #13111714}.textbook-filter-option{display:flex;align-items:flex-start;gap:.5rem;padding:.42rem .45rem;border-radius:.15rem;font-size:.78rem;line-height:1.35;color:#333;cursor:pointer}.textbook-filter-option:hover{background:#fafafa}.textbook-filter-option input{margin-top:.15rem;flex-shrink:0;accent-color:#131117}.textbook-filter-option span{min-width:0}.textbook-filters-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(19,17,23,.06)}.textbook-filters-hint{font-size:.72rem;line-height:1.45;color:#777;margin:0;max-width:28rem}.textbook-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 .75rem}.textbook-table-status{font-size:.78rem;color:#666;margin:0}.textbook-table-clear{font:inherit;font-size:.75rem;color:#333;background:#fff;border:1px solid rgba(19,17,23,.18);border-radius:.2rem;padding:.3rem .55rem;cursor:pointer}.textbook-table-clear:hover{border-color:#13111759}.textbook-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0;padding:0 0 .25rem;background:#fff;border:1px solid rgba(19,17,23,.08);border-radius:.15rem}.textbook-table{width:100%;min-width:52rem;border-collapse:collapse;font-size:.8rem;line-height:1.35;color:#333;background:#fff}.textbook-table th,.textbook-table td{border:1px solid rgba(19,17,23,.1);padding:.45rem .55rem;vertical-align:top;text-align:left;background:#fff}.textbook-table thead th{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#666}.textbook-table-author{font-weight:600;color:#131117;min-width:8.5rem}.textbook-table-empty{font-size:.8rem;color:#666;text-align:center;padding:1.25rem .75rem;margin:0;background:#fff}.reddit-mentions-table{min-width:28rem}.reddit-discourse-list{display:flex;flex-direction:column;gap:.55rem}.reddit-discourse-item{background:#fafafa;border:1px solid rgba(19,17,23,.08);border-radius:.15rem}.reddit-discourse-summary{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.45rem 1rem;padding:.7rem .85rem;cursor:pointer;list-style:none}.reddit-discourse-summary::-webkit-details-marker{display:none}.reddit-discourse-summary:before{content:"+";margin-right:.45rem;font-size:.85rem;color:#666}.reddit-discourse-item[open] .reddit-discourse-summary:before{content:"−"}.reddit-discourse-name{font-size:.82rem;font-weight:600;color:#131117}.reddit-discourse-counts{font-size:.72rem;color:#777}.reddit-discourse-body{padding:0 .85rem .85rem;border-top:1px solid rgba(19,17,23,.08)}.reddit-discourse-summary-text{font-size:.8rem;line-height:1.5;color:#555;margin:.75rem 0 1rem;max-width:52rem}.reddit-discourse-subheading{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#666;margin:1.25rem 0 .5rem}.reddit-discourse-strata-note{font-size:.75rem;line-height:1.45;color:#777;margin:0 0 .65rem;max-width:52rem}.reddit-discourse-strata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-bottom:.5rem}.reddit-discourse-strata--three{grid-template-columns:repeat(3,minmax(0,1fr))}.reddit-discourse-strata-label{font-size:.72rem;font-weight:600;color:#444;margin:0 0 .4rem}@media(max-width:900px){.reddit-discourse-strata,.reddit-discourse-strata--three{grid-template-columns:1fr}}.reddit-discourse-table{min-width:16rem;max-width:24rem}.reddit-discourse-examples{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.85rem}.reddit-discourse-example-meta{font-size:.72rem;color:#666;margin:0 0 .25rem}.reddit-discourse-example-meta a{color:inherit;text-decoration:underline;text-underline-offset:.15em}.reddit-discourse-example-meta a:hover{color:#131117}.reddit-discourse-example-quote{font-size:.78rem;line-height:1.45;color:#444;margin:0}.phase-list{list-style:none;display:flex;flex-direction:column;gap:1rem;margin-top:1.25rem}.phase-item{border-left:2px solid #1a1a1a;padding-left:1rem}.phase-label{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#888;margin-bottom:.25rem}.phase-title{font-size:.95rem;font-weight:600;color:#1a1a1a;margin-bottom:.25rem}.phase-desc{font-size:.88rem;line-height:1.6;color:#555}.youtube-embed{position:relative;width:100%;max-width:720px;aspect-ratio:16 / 9;margin:1rem 0 .75rem}.youtube-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-list{list-style:none;display:flex;flex-direction:column;gap:1rem;margin-top:1.25rem}.video-item{padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.video-item:last-child{border-bottom:none;padding-bottom:0}.video-code{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#888;margin-bottom:.2rem}.video-title{font-size:.95rem;font-weight:600;color:#1a1a1a;margin-bottom:.25rem}.video-status{font-size:.82rem;color:#777}.status-pill{display:inline-block;font-size:.68rem;font-weight:500;letter-spacing:.06em;text-transform:lowercase;color:#666;border:1px solid #e0e0e0;padding:.12rem .4rem;margin-left:.35rem}@media(max-width:900px){.textbook-filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.page-wrap--connect{max-width:min(40rem,94vw)}.connect-prose .curriculum-intro{margin-bottom:1rem}.connect-join{font-size:clamp(1.35rem,3vw,1.65rem);font-weight:700;letter-spacing:.06em;color:#131117;margin:0 0 .65rem}.connect-owner-panel{margin-top:1.75rem;border-top:1px solid rgba(19,17,23,.08);padding-top:1rem}.connect-owner-summary{font-size:.78rem;color:#888;cursor:pointer;list-style:none}.connect-owner-summary::-webkit-details-marker{display:none}.connect-owner-body{margin-top:.85rem}.connect-owner-status{font-size:.78rem;color:#555;margin:.5rem 0 0}.connect-owner-badge{font-size:.76rem;font-weight:600;color:#131117;margin:0 0 .75rem}.connect-name-error{font-size:.76rem;color:#8a3040;margin:-.35rem 0 0}.connect-section{margin-top:2.25rem}.connect-heading{font-size:.92rem;font-weight:600;color:#131117;margin:0 0 .35rem}.connect-note{font-size:.82rem;color:#666;margin:0 0 1rem}.connect-form{display:flex;flex-direction:column;gap:.85rem}.connect-field{display:flex;flex-direction:column;gap:.35rem}.connect-label{font-size:.74rem;font-weight:500;color:#555}.connect-form input,.connect-form textarea{font:inherit;font-size:.84rem;line-height:1.45;color:#131117;background:#fff;border:1px solid rgba(19,17,23,.16);border-radius:.2rem;padding:.55rem .65rem;width:100%}.connect-form input:focus-visible,.connect-form textarea:focus-visible{outline:none;border-color:#131117;box-shadow:0 0 0 2px #13111714}.connect-submit{align-self:flex-start;font:inherit;font-size:.8rem;color:#131117;background:#f4f4f4;border:none;border-radius:999px;padding:.5rem 1rem;cursor:pointer;transition:background .15s ease}.connect-submit:hover{background:#e8e8e8}.connect-submit:disabled{opacity:.6;cursor:wait}.connect-status{margin:.35rem 0 0;font-size:.82rem;color:#444}.connect-links{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.connect-links a{font-size:.88rem;text-decoration:underline;text-underline-offset:.15em;color:#333}.connect-links a:hover{color:#131117}@media(max-width:600px){.site-header{position:static;min-width:0;width:100%;padding-left:max(1.5rem,env(safe-area-inset-left,0px));padding-right:max(1.5rem,env(safe-area-inset-right,0px))}.about-main,.home-main,.page-wrap,.site-footer{padding-left:max(1.5rem,env(safe-area-inset-left,0px));padding-right:max(1.5rem,env(safe-area-inset-right,0px))}.textbook-filters-grid{grid-template-columns:1fr}.textbook-filters-footer{flex-direction:column;align-items:flex-start}}
