@font-face{font-family:Playfair;src:url('assets/playfair-display.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:OpenSans;src:url('assets/open-sans.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--blue:#002fa7;--red:#c41e3a;--ink:#1d2122;--paper:#fffffa;--cream:#f0eee6;--grey:#b2b2b2;--muted:#555c5b;--line:#dbdcd5;--radius:8px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:172px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.7 OpenSans,Arial,sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}a{color:var(--red);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3{font-family:Playfair,Georgia,serif;font-weight:500;line-height:1.18;margin:0 0 1rem;color:var(--blue)}h1{font-size:clamp(2.25rem,3.6vw,3.65rem);letter-spacing:-.035em}h2{font-size:clamp(1.65rem,2.3vw,2.2rem);letter-spacing:-.015em}h3{font-size:1.45rem;color:var(--red)}p{margin:0 0 1rem}p:last-child{margin-bottom:0}strong{font-weight:650}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}main:focus{outline:none}.skip-link{position:fixed;left:1rem;top:-6rem;background:var(--paper);padding:1rem;z-index:100}.skip-link:focus{top:1rem}.small{font-size:.875rem;color:var(--muted)}.eyebrow{font-size:.8rem;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:var(--red);margin-bottom:1rem}.site-header{height:116px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:22px 4%;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:10}.brand{display:block;flex-shrink:0;margin:8px 30px 8px 0}.brand img{width:112px;height:auto;display:block}.site-header nav{display:flex;gap:2rem;align-items:center;margin-left:auto}.site-header nav a{text-decoration:none;color:var(--ink);font-size:.9rem;padding:.6rem 0;border-bottom:2px solid transparent}.site-header nav a.active{color:var(--blue);border-color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:48px;padding:.8rem 1.2rem;border:1px solid var(--red);border-radius:5px;background:var(--red);color:var(--paper);font-size:.9rem;font-weight:650;text-decoration:none;line-height:1.4}.button:hover{filter:brightness(.94);text-decoration:none}.button.secondary{color:var(--ink);background:transparent;border-color:var(--ink)}.button.compact{min-height:44px;padding:.65rem 1rem}.button.text{background:transparent;border-color:transparent;color:var(--red);padding-left:0}.app-layout{max-width:1640px;margin:auto;display:grid;grid-template-columns:280px minmax(0,1fr)}.sidebar{border-right:1px solid var(--line);padding:2.2rem 1.7rem;position:sticky;top:156px;height:calc(100dvh - 156px);overflow-y:auto}.sidebar-title{font:500 1.25rem/1.4 Playfair;color:var(--blue);margin-bottom:.35rem}.progress-meta{display:flex;justify-content:space-between;font-size:.8rem;margin-top:2rem;margin-bottom:.5rem}progress{width:100%;height:5px;border:0;background:var(--line);display:block;border-radius:0}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--blue)}progress::-moz-progress-bar{background:var(--blue)}#module-nav{display:flex;flex-direction:column;margin:1.6rem -0.6rem .8rem;gap:.2rem}.module-link{display:flex;align-items:center;gap:.9rem;padding:.8rem .6rem;color:var(--ink);text-decoration:none;border-left:3px solid transparent;border-radius:0 5px 5px 0;font-size:.875rem;line-height:1.45}.module-link:hover{background:var(--cream)}.module-link.active{background:var(--cream);border-left-color:var(--blue);color:var(--blue)}.module-link .num{font-size:.8rem;min-width:1.4rem;color:var(--blue);font-weight:650}.module-link .done{margin-left:auto;color:var(--blue)}.plan-link{display:block;padding:1rem 0;border-top:1px solid var(--line);font-size:.9rem;font-weight:650;text-decoration:none}.sidebar-note{margin-top:2rem;border-top:1px solid var(--line);padding-top:1.4rem;font-size:.8rem;color:var(--muted)}.sidebar-note strong{color:var(--ink)}.sidebar-note p{margin:.5rem 0}.workspace{min-width:0;padding:0 clamp(1.25rem,4vw,4rem)}.save-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 0;border-bottom:1px solid var(--line);font-size:.75rem;color:var(--muted)}.save-bar>span:first-child{letter-spacing:.12em}main{padding-top:2.7rem;min-height:65vh}main>*{min-width:0}.intro-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:3rem;align-items:start}.lead{font-size:1.1rem;line-height:1.8;max-width:660px;color:var(--muted)}.actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1.4rem 0}.callout{background:var(--cream);padding:1.5rem;border-top:3px solid var(--blue);border-radius:0 0 var(--radius) var(--radius)}.callout h2,.callout h3{font-size:1.45rem}.callout .eyebrow{color:var(--blue)}.callout p{font-size:.95rem}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:2.8rem 0 1rem}.section-head h2{margin:0}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.module-card{padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none;display:flex;gap:1.2rem;transition:border-color .2s,transform .2s}.module-card:hover{border-color:var(--blue);transform:translateY(-2px)}.module-card .large-num{color:var(--blue);font:500 2rem/1.2 Playfair;opacity:.75}.module-card h3{font-size:1.4rem;color:var(--blue);margin-bottom:.5rem}.module-card p{font-size:.9rem;color:var(--muted);margin-bottom:.8rem}.card-meta{font-size:.75rem;color:var(--red);font-weight:650}.page-title{max-width:850px;margin-bottom:2rem}.reading{max-width:760px;line-height:1.85}.reading p{margin-bottom:1.1rem}footer{border-top:1px solid var(--line);padding:2rem 0;margin-top:4rem;font-size:.8rem;color:var(--muted)}footer .proof{font-family:Playfair;font-size:1.3rem;color:var(--blue);margin-bottom:1rem}footer p{max-width:850px}.icon-button{border:1px solid var(--line);background:var(--paper);width:44px;height:44px;flex-shrink:0;border-radius:50%;font-size:1.6rem;line-height:1}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dialog-head h2{font-size:1.7rem}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;width:min(700px,92vw);max-height:86dvh;padding:2rem}dialog::backdrop{background:#1d21228c}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);max-width:calc(100vw - 2rem);width:max-content;background:var(--ink);color:var(--paper);padding:1rem 1.5rem;border-radius:8px;box-shadow:0 10px 40px #0002;z-index:40;font-size:.9rem}.noscript{margin:2rem;padding:2rem;border:1px solid var(--red)}
@media(min-width:1400px){.workspace{padding-left:4.5rem;padding-right:4.5rem}}
@media(max-width:1100px){.app-layout{grid-template-columns:240px minmax(0,1fr)}.sidebar{padding:1.8rem 1.2rem}.intro-grid{grid-template-columns:1fr;gap:1.4rem}.intro-grid .callout{max-width:none}.site-header{gap:1.2rem}.site-header nav{gap:1.2rem}.brand{margin-right:0}.module-grid{gap:.8rem}.module-card{padding:1.2rem;gap:.9rem}}
@media(max-width:780px){.site-header{height:auto;min-height:104px;padding:18px 1.2rem;flex-wrap:wrap;gap:.5rem 1rem;position:relative}.brand{padding:.85rem 0;margin-right:auto}.brand img{width:122px}.site-header nav{order:3;width:100%;justify-content:space-between;gap:.7rem;margin:0}.site-header nav a{font-size:.875rem}.site-header>.button{font-size:.8rem}.app-layout{display:block}.sidebar{height:auto;position:relative;top:0;border-right:0;border-bottom:1px solid var(--line);padding:1rem 1.2rem}.sidebar-title,.sidebar>.small,.sidebar-note,.sidebar>.plan-link{display:none}.progress-meta{margin:0 0 .4rem}.sidebar #module-nav{margin:1rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.module-link{border:1px solid var(--line);border-radius:5px;font-size:.875rem;padding:.55rem;gap:.35rem;align-items:flex-start}.module-link .num{font-size:.75rem;min-width:1rem}.module-link.active{border-color:var(--blue)}.workspace{padding:0 1.2rem}.save-bar{font-size:.75rem;align-items:flex-start}.save-bar>span:last-child{text-align:right}main{padding-top:1.8rem}.module-grid{grid-template-columns:1fr}.intro-grid{gap:1.4rem}.section-head{align-items:flex-start;flex-direction:column;gap:.3rem}.actions{gap:.7rem}.button{min-height:48px}h1{font-size:2.6rem}.lead{font-size:1rem}footer{margin-top:2.5rem}dialog{padding:1.4rem}.toast{bottom:.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.module-card:hover{transform:none}}
/* Workbook surfaces */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.one-col{display:grid;grid-template-columns:1fr}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:.9rem;font-weight:650;margin-bottom:.8rem}input[type=radio],input[type=checkbox]{accent-color:var(--blue);width:18px;height:18px;flex-shrink:0;cursor:pointer}textarea,input[type=date]{display:block;width:100%;max-width:100%;padding:1rem;border:1px solid #858b89;border-radius:5px;background:var(--paper);color:var(--ink);font-size:1rem;line-height:1.7;box-shadow:none}textarea{resize:vertical;min-height:110px}textarea::placeholder{color:#656d6a;opacity:1}textarea:hover,input[type=date]:hover{border-color:var(--ink)}textarea:focus,input[type=date]:focus{border-color:var(--blue)}.field{margin:1.7rem 0}.field>label,.prompt-label{display:block;font-size:1rem;font-weight:650;margin-bottom:.6rem;line-height:1.6}.field-help{font-size:.875rem;color:var(--muted);margin:0 0 .7rem;line-height:1.65}.field input+.field-help{margin:.65rem 0 0}.date-field input{max-width:280px;min-height:48px}.start-note .field{margin:1.1rem 0 .7rem}.start-note .field>label{font-size:.875rem}.start-note textarea{font-size:.95rem;min-height:126px;background:var(--paper)}.start-note .small{font-size:.8rem}.focus-section{margin-top:2.3rem;padding:1.3rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.focus-section .small{margin:.65rem 0 0}.focus-options{display:flex;flex-wrap:wrap;gap:.6rem}.focus-choice{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line);padding:.5rem .85rem;border-radius:5px;font-size:.875rem;cursor:pointer;min-height:44px}.focus-choice:has(input:checked){background:var(--cream);border-color:var(--blue);color:var(--blue)}.focus-choice input{margin:0}.highlight{background:var(--ink);color:var(--paper);padding:2.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2.8rem;border-radius:8px}.highlight .eyebrow{color:var(--paper);border-top:2px solid var(--red);padding-top:.8rem;width:fit-content}.highlight h2{color:var(--paper);font-size:2.2rem}.highlight p{max-width:510px;font-size:.95rem}.highlight .button{color:var(--paper);border-color:var(--paper);flex-shrink:0}.bottom-notes{margin-top:2.5rem;padding-top:1rem;gap:2.5rem}.bottom-notes p{font-size:.95rem}.inline-button{border:0;background:transparent;color:var(--red);text-decoration:underline;text-underline-offset:4px;padding:.2rem 0;line-height:inherit;font-size:inherit}.breadcrumb{display:flex;gap:.7rem;font-size:.8rem;color:var(--muted);margin-bottom:1.6rem}.lesson-meta{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem;border-block:1px solid var(--line);padding:1rem 0;margin:1rem 0 2.5rem}.lesson-meta>span:last-child{white-space:nowrap;color:var(--muted)}.lesson-grid{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:2.7rem}.lesson-grid article{min-width:0}.lesson-aside{align-self:start;position:sticky;top:186px}.lesson-aside .callout{padding:1.2rem}.lesson-aside .eyebrow{font-size:.75rem}.lesson-aside .small{font-size:.8rem}.rhythm{padding-left:1.2rem;margin:0 0 1.2rem;font-size:.875rem}.rhythm li{padding:.35rem 0}.aside-resource{padding:1.6rem 0;font-size:.875rem}.aside-resource h3{font-size:1.4rem}.aside-resource>.small{margin-top:1rem}.source-note{font-size:.875rem;border-left:3px solid var(--blue);padding:.6rem 1rem;background:var(--cream);line-height:1.7}.examples{margin:2rem 0;padding-top:1.6rem;border-top:1px solid var(--line)}.examples .eyebrow{margin-bottom:.3rem}.example{border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:0 0 6px 6px;padding:1.2rem}.example h3{font-size:1.25rem}.example p{font-size:.9rem;line-height:1.8}.reflection-section,.practice-section,.review-section{margin-top:2.6rem;padding-top:2rem;border-top:1px solid var(--line)}.reflection-section>.eyebrow,.practice-section>.eyebrow{margin-bottom:.7rem}.deeper{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.2rem 0;margin:1.8rem 0}.deeper summary{color:var(--red);font-weight:650;cursor:pointer;padding:1rem .2rem;line-height:1.5;min-height:48px}.deeper summary span{font-size:.8rem;color:var(--muted);font-weight:400;margin-left:.8rem}.deeper[open]{padding-bottom:1.2rem}.deeper .field{margin-left:.2rem;margin-right:.2rem}.human-check{border-left:3px solid var(--blue);background:var(--cream);padding:1.2rem 1.4rem;margin:1.6rem 0}.human-check strong{color:var(--blue);font-size:.9rem}.human-check p{font-size:.95rem;margin-top:.4rem}.ai-section{padding:1.6rem;border:1px solid var(--line);border-radius:8px;margin-top:2.5rem}.ai-section h2{font-size:1.8rem}.ai-section p{font-size:.95rem}.ai-section .small{margin-top:.8rem;font-size:.8rem}.ai-section .deeper{margin-bottom:0}.completion{margin:2.4rem 0 1.8rem}.completion label{display:flex;align-items:center;gap:.7rem;font-weight:650}.completion p{margin:.7rem 0 0}.lesson-pagination{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:1.5rem}.plan-tools{display:flex;gap:1.2rem;flex-wrap:wrap;margin-bottom:1.5rem}.reflection-summary{margin:1.5rem 0 2.5rem}.summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:1rem 0}.summary-row:last-child{border:0}.summary-row p{margin:.4rem 0 0;font-size:.9rem}.summary-row a{font-size:.875rem;flex-shrink:0}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.plan-foundation{max-width:840px}.weeks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.week{border:1px solid var(--line);border-radius:8px;padding:1.5rem;min-width:0}.week-number{font:500 2.5rem/1 Playfair;color:var(--blue)}.week .field{margin-bottom:0}.week .field-help{min-height:3rem}.week .field label{min-height:3.2rem}.plan-check{margin-top:2rem}.book-feature{display:grid;grid-template-columns:240px minmax(0,1fr);gap:2.5rem;align-items:center;padding:2rem 0 2.5rem;border-bottom:1px solid var(--line)}.book-feature>.book-monogram{background:var(--ink);color:var(--paper);padding:2rem;min-height:330px;display:flex;flex-direction:column;justify-content:space-between;border-top:4px solid var(--red)}.book-monogram>span,.book-monogram small{font-size:.75rem;letter-spacing:.1em;line-height:1.6}.book-monogram>div{font:500 2.4rem/1.07 Playfair;letter-spacing:-.02em;margin:1.4rem 0}.book-feature h2{font-size:2.2rem}.book-feature p{font-size:.95rem}.book-feature .button{margin:.6rem 0 1rem}.book-feature .small{font-size:.8rem}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.resource-card{padding:1.6rem;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;min-width:0}.resource-card h3{font-size:1.65rem;color:var(--blue)}.resource-card p{font-size:.95rem}.resource-card .small{font-size:.8rem}.resource-card .eyebrow{font-size:.75rem}.resource-action{margin-top:auto;padding:1rem 0}.attribution{margin-top:2.5rem}.download-option{padding:1.5rem 0;border-bottom:1px solid var(--line)}.download-option h3{font-size:1.3rem;margin-bottom:.6rem}.download-option p{font-size:.9rem}.download-option+.small{margin-top:1.4rem}.ai-choices{border-block:1px solid var(--line);margin:1.5rem 0;padding:.9rem 0}.check-choice{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem .3rem;cursor:pointer;font-size:.9rem}.check-choice input{margin-top:.25rem}.check-choice small{display:block;font-size:.8rem;color:var(--muted);margin-top:.3rem;overflow-wrap:anywhere}.notice{padding:1.1rem;border-left:3px solid var(--red);background:var(--cream);margin-top:1rem;font-size:.875rem}.save-warning,.error{color:var(--red)}.error:not(:empty){margin-top:1rem}.error:empty{display:none}
@media(max-width:1250px){.lesson-grid{grid-template-columns:1fr}.lesson-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;border-top:1px solid var(--line);padding-top:2rem}.highlight{flex-direction:column;align-items:flex-start}.lesson-aside .aside-resource{padding:0}.book-feature{grid-template-columns:200px minmax(0,1fr);gap:1.8rem}.book-monogram>div{font-size:2rem}}
@media(max-width:900px){.resource-grid{grid-template-columns:1fr}.book-feature{grid-template-columns:1fr}.book-feature .book-monogram{min-height:0;max-width:none;flex-direction:row;align-items:center;gap:1rem;padding:1.5rem}.book-monogram small{display:none}.book-monogram>div{font-size:1.8rem;margin:0}.weeks-grid{grid-template-columns:1fr}.week .field label,.week .field-help{min-height:0}}
@media(max-width:780px){.two-col{grid-template-columns:1fr}.lesson-meta{flex-direction:column;gap:.4rem;margin-bottom:1.8rem}.lesson-aside{grid-template-columns:1fr}.deeper summary span{display:block;margin:.3rem 0 0 1rem}.lesson-pagination{flex-wrap:wrap}.lesson-pagination .button{flex:1;min-width:140px}.highlight{padding:1.5rem}.highlight h2{font-size:1.8rem}.bottom-notes{gap:1.6rem}.field{margin:1.6rem 0}.ai-section{padding:1.25rem}.focus-options{gap:.5rem}.focus-choice{font-size:.8rem;padding:.55rem}.resource-card{padding:1.4rem}.book-feature{padding-top:0}.week{padding:1.2rem}.completion label{align-items:flex-start}.completion label input{margin-top:.3rem}.summary-row{flex-wrap:wrap}.lesson-grid{gap:1.7rem}.plan-tools{gap:.5rem}.start-note h2 br{display:none}}

/* Shared header on every learning-guide page. */
.site-header{height:156px;display:grid;grid-template-columns:142px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:8px 30px;padding:18px 4%}
.site-header .brand{grid-column:1;grid-row:1 / 3;margin:0}
.header-title{grid-column:2;grid-row:1;margin:0;color:var(--blue);font:500 clamp(1rem,1.6vw,1.25rem)/1.35 Playfair,Georgia,serif;letter-spacing:.025em}
.header-title span{display:block;margin-top:.25rem;font:650 .7rem/1.5 OpenSans,Arial,sans-serif;letter-spacing:.08em}
.header-website{grid-column:3;grid-row:1;font-size:.875rem;white-space:nowrap;justify-self:end;padding:.5rem 0}
.site-header nav{grid-column:2;grid-row:2;margin:0;gap:1.5rem;flex-wrap:wrap}
.site-header>.button{grid-column:3;grid-row:2;justify-self:end}
@media(max-width:1100px){.site-header{grid-template-columns:112px minmax(0,1fr) auto;gap:8px 28px}.site-header nav{gap:1rem}.site-header nav a{font-size:.8rem}}
@media(max-width:780px){.site-header{height:auto;min-height:0;grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:1rem 28px;padding:20px 1.2rem}.site-header .brand{grid-column:1;grid-row:1;padding:0;margin:8px 0}.site-header .brand img{width:112px}.header-website{grid-column:2;grid-row:1;font-size:.75rem;white-space:normal;overflow-wrap:anywhere}.header-title{grid-column:1 / -1;grid-row:2;font-size:1.2rem}.header-title span{font-size:.7rem}.site-header nav{grid-column:1 / -1;grid-row:3;gap:.5rem 1rem;justify-content:space-between;width:100%;order:initial}.site-header>.button{grid-column:1 / -1;grid-row:4;justify-self:start}.sidebar{top:0;height:auto}}

@media print{.site-header,.sidebar,.save-bar,.skip-link,.lesson-aside,.lesson-pagination,.toast,dialog,.button,.inline-button,.focus-section,.plan-tools{display:none!important}.app-layout{display:block}.workspace{padding:0}main{padding:0}.intro-grid,.lesson-grid,.two-col,.module-grid,.weeks-grid,.resource-grid{display:block}.field{break-inside:avoid}textarea{height:auto;min-height:100px}footer{margin-top:2rem}h1{font-size:30pt}h2{font-size:22pt}@page{margin:18mm}}
