body{margin:0;background:#fcfaf5;color:#292d35}*{box-sizing:border-box}header,main{max-width:1250px;margin:auto;padding-inline:32px}header{height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #ded8cd}header img{width:155px}nav{display:flex;gap:25px;align-items:center}nav a,nav button{font:700 17px League Spartan,sans-serif;color:#60616a;text-decoration:none;background:none;border:0;padding:13px 0;white-space:nowrap}nav .active{color:#0369a1;border-bottom:2px solid #0369a1}nav .signup{border:1px solid #d8d2c8;border-radius:8px;padding:12px 18px}nav form{margin:0}.menu-toggle{display:none}main{font:15px/1.5 League Spartan,sans-serif}button,input,select{font:inherit}button,summary{cursor:pointer}button:disabled{opacity:.5;cursor:default}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #0284c7;outline-offset:3px}h1,h2,h3{font:700 30px/1.1 League Spartan,sans-serif;letter-spacing:-.025em;margin:0}.heading{padding:26px 0 22px}h1{font-size:46px}.heading p{font:500 20px League Spartan,sans-serif;color:#be123c;margin:10px 0 0}.eyebrow{font:700 10px League Spartan,sans-serif;letter-spacing:.1em;color:#a51e43;margin:0}p{color:#616773}.toolbar{display:flex;gap:24px;align-items:center}.grades{display:flex;gap:6px;flex-shrink:0}.grades button{min-width:40px;height:42px;border:1px solid #d8d2c8;border-radius:8px;background:none;font:700 17px League Spartan,sans-serif;color:#575f69}.grades button[aria-pressed=true]{background:#0369a1;color:#fff;border-color:#0369a1}.search{width:100%;min-width:0;border:1px solid #d8d2c8;background:#fff;border-radius:8px;padding:12px 15px;height:44px}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-bottom:14px;border-bottom:1px solid #e7e1d7}.secondary,.controls{display:flex;gap:20px;align-items:center}.secondary label{font-size:13px;color:#626772}.untaught{display:flex;gap:5px;align-items:center}select{padding:9px;border:1px solid #d8d2c8;border-radius:7px;background:#fff;color:#525c67}.hide{border:0;background:none;color:#0369a1;padding:10px 0;min-height:40px;font:600 15px League Spartan,sans-serif}.hide[aria-pressed=true]{color:#9f1239}.filter-toggle{display:none}.set-heading{display:flex;gap:12px;align-items:center;margin:24px 0 16px}.set-letter{width:38px;height:38px;display:grid;place-items:center;background:#f0e8dc;color:#645345;border-radius:8px;font:700 24px League Spartan,sans-serif;flex-shrink:0}.set-heading h2{font-size:25px;margin-top:5px}.set-status{margin-left:auto;display:flex;gap:16px;align-items:center;font-size:12px;color:#67717a;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}.grid article{min-width:0}.activity-card{position:relative;border-radius:15px}.activity-card>.tile{position:relative;z-index:0}.activity-card.is-taught{box-shadow:0 0 0 2px #0284c7}.card-open{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;border-radius:15px;z-index:1;cursor:pointer}.card-open:hover{box-shadow:0 0 0 2px #9abccc}.card-open:focus-visible{outline:3px solid #0284c7;outline-offset:4px}.taught-toggle{position:absolute;right:0;top:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:7px;min-width:40px;min-height:40px;padding:8px 10px;border:1px solid #ded8cd;border-radius:0 14px 0 12px;background:#fffdf9;color:#64748b;font:700 15px/1 League Spartan,sans-serif;cursor:pointer}.taught-toggle:hover{background:#e0f2fe;color:#0369a1;border-color:#0284c7}.taught-toggle:focus-visible{outline:3px solid #0284c7;outline-offset:3px}.taught-toggle.checked{background:#0284c7;color:#fff;border-color:#0284c7;padding-inline:13px}.taught-toggle.checked:hover{background:#0369a1}.completion-check{flex-shrink:0}.text{border:0;background:none;color:#0369a1;font-weight:700;padding:8px 0}.primary{border:0;border-radius:8px;background:#0369a1;color:#fff;padding:15px 19px;font:700 18px League Spartan,sans-serif}.all-heading{margin:30px 0}.upcoming{margin-top:40px;padding-top:28px;border-top:1px solid #ded8cd}.upcoming h2{margin:10px 0}.upcoming>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.upcoming article{display:flex;align-items:center;gap:15px;border:1px solid #ded8cd;border-radius:10px;padding:19px}.upcoming b{color:#6a6154}.upcoming small{margin-left:auto;color:#74797d}footer a{color:#0369a1;text-decoration:none;font-weight:700}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ded8cd;margin-top:48px;padding:24px 0;font-size:12px;color:#737982}@media (max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}nav{gap:14px}nav a,nav button{font-size:15px}.set-status{flex-direction:column;gap:0;align-items:end}.controls,.secondary{gap:12px}}@media (max-width:650px){header,main{padding-inline:16px}header{height:70px;position:relative}header img{width:133px}.menu-toggle{display:block;border:0;background:none;font-size:25px;color:#292d35}nav{display:none;position:absolute;top:69px;left:0;right:0;z-index:20;background:#fcfaf5;border-bottom:1px solid #ded8cd;padding:16px;flex-wrap:wrap}nav.open{display:flex}.heading{padding:22px 0 18px}h1{font-size:38px}.heading p{font-size:18px;margin-top:7px}.toolbar{flex-direction:column;gap:12px;align-items:stretch}.grades{justify-content:space-between;gap:4px;flex-wrap:wrap;max-width:100%}.grades button{min-width:36px;height:40px}.search{height:42px}.filter-row{flex-wrap:wrap;gap:0;padding-bottom:8px;margin-top:5px}.filter-toggle{display:block;border:0;background:none;padding:12px 0;color:#626772;font-weight:600;font-size:13px}.secondary{display:none;order:3;width:100%;padding:10px 0;flex-wrap:wrap}.secondary.expanded{display:flex}.controls{margin-left:auto;gap:16px}.hide{font-size:14px}.set-heading{margin:19px 0 14px;flex-wrap:wrap;gap:10px}.set-heading>div:not(.set-status){flex:1}.set-heading h2{font-size:22px}.set-status{width:100%;margin-left:48px;flex-direction:row;justify-content:space-between;align-items:center}.set-status .text{padding:0}.grid,.upcoming>div{grid-template-columns:minmax(0,1fr)}footer{flex-direction:column}}body{font-family:League Spartan,sans-serif}header{font-family:League Spartan,sans-serif}.browse-summary{display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:12px;color:#67717a;padding:17px 0 0}.browse-summary .text{padding:0}.set-status{gap:8px}.secondary{gap:16px;flex-wrap:wrap}.filter-row{gap:20px}.secondary label{display:flex;align-items:center;gap:8px}.untaught{font-size:13px;white-space:nowrap;color:#626772}.taught-toggle[aria-pressed=true]{background:#0284c7;color:#fff;border-color:#0284c7}.tile{background:#fffdf9;border:1px solid #e7e1d7;border-radius:15px;padding:14px;color:#292d35}.details{padding:15px 3px 5px}.details p{font:12px/1.5 League Spartan,sans-serif;color:#646772;margin:0 0 9px}.title{display:flex;align-items:start;gap:10px;justify-content:space-between}.title h3{font:700 23px/1.12 League Spartan,sans-serif;letter-spacing:-.025em;margin:0}.title b{white-space:nowrap;font:700 12px League Spartan,sans-serif;color:#626772;padding-top:4px}.artwork{aspect-ratio:3/2;background:var(--tint);border-radius:8px;overflow:hidden;text-align:center;position:relative;container-type:inline-size;color:#292d35;padding-top:3.5%;isolation:isolate}.artwork:before{content:"";position:absolute;width:95%;aspect-ratio:1;top:38%;left:2.5%;background:var(--color);opacity:.065;border-radius:50%;z-index:-1}.art-brand{font:700 2cqw League Spartan,sans-serif;letter-spacing:.23em;color:var(--color)}.art-title{font:700 8.5cqw/1 League Spartan,sans-serif;letter-spacing:-.04em;margin:1.5% 0}.art-title>span{color:var(--color)}.art-units{font:500 3.5cqw/1.1 League Spartan,sans-serif;color:#526071}.art-scene{height:64%;position:absolute;bottom:0;left:5%;right:5%;display:flex;gap:5%;align-items:center;justify-content:center}.subject{width:34%;height:80%;display:flex;align-items:center;justify-content:center;transform:rotate(-6deg)}.subject img{width:100%;height:85%;object-fit:contain;opacity:.9}.subject img.photo{width:100%;height:100%;object-fit:cover;border:4px solid #fffdf9;border-radius:3px;opacity:1;box-shadow:3px 5px 7px #17203320}.mini-card{width:25%;height:90%;background:var(--color);color:#fff;display:flex;align-items:center;justify-content:center;position:relative;transform:rotate(-7deg);box-shadow:3px 5px #17203315;border:1px solid #ffffff80}.mini-card.second{transform:rotate(8deg)}.mini-card b{font:700 17cqw/1 League Spartan,sans-serif}.mini-card span{position:absolute;bottom:7%;left:4%;right:4%;font:500 2.7cqw League Spartan,sans-serif}.mini-card i{position:absolute;top:12%;right:7%;height:48%;width:5%;border:1px solid #ffffff90;border-left-width:2px;border-right:0}.empty{text-align:center;padding:65px 20px}.empty h2{font-size:28px}dialog{position:fixed;inset:0;margin:auto;border:1px solid #ded8cd;border-radius:18px;background:#fcfaf5;color:#292d35;width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:28px;font:15px/1.5 League Spartan,sans-serif;box-shadow:0 25px 90px #17203330}dialog::backdrop{background:#17203365;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.close{border:0;background:none;color:#526071;font-size:28px;width:40px;height:40px;border-radius:8px}.close:hover{background:#eae6df}dialog h2{font-size:34px}dialog h3{font-size:22px}.detail-meta{font-family:League Spartan,sans-serif;font-size:17px;margin:12px 0 20px}.goal{line-height:1.6}.detail-facts{display:flex;gap:30px;padding:18px 0;border-block:1px solid #e7e1d7;margin:20px 0}.detail-facts span,.sequence>span{display:block;font-size:12px;color:#67717a;margin-bottom:5px}.detail-facts strong{font:600 18px League Spartan,sans-serif}.rounds{padding:0;list-style:none;display:grid;gap:10px}.rounds li{display:flex;align-items:center;gap:14px;background:#f2ede4;padding:12px;border-radius:8px}.rounds li>span{font:600 19px League Spartan;color:#645345}.sequence{padding-top:18px}.sequence>div{display:flex;gap:8px}.sequence button{border:1px solid #d8d2c8;background:transparent;border-radius:7px;padding:10px 8px;font-size:12px;flex:1;color:#526071}.sequence button[aria-current=step]{background:#0369a1;color:#fff;border-color:#0369a1}.dialog-bottom{display:flex;gap:20px;align-items:center;justify-content:space-between;border-top:1px solid #e7e1d7;margin-top:24px;padding-top:15px}.dialog-bottom p{font-size:12px;max-width:250px}.primary{text-decoration:none;white-space:nowrap}.activity-card:hover .tile{border-color:#9abccc}.taught-toggle{opacity:1}.activity-card:hover .taught-toggle,.activity-card:focus-within .taught-toggle,.taught-toggle[aria-pressed=true]{opacity:1}@media (max-width:1000px){.filter-row,.browse-summary{flex-wrap:wrap}.secondary{gap:12px}.secondary label{font-size:12px}.taught-toggle{opacity:1}}@media (max-width:650px){.secondary{display:flex;width:100%;padding:5px 0;order:0;flex-wrap:wrap}.secondary label{display:grid;gap:5px;flex:1;min-width:140px}.secondary select{width:100%;max-width:100%}.filter-row{gap:12px;padding-bottom:14px}.browse-summary{gap:6px;padding-top:15px}.set-status{width:100%;margin-left:48px;justify-content:flex-start}.heading p{font-size:18px}.dialog-bottom{flex-direction:column;align-items:stretch;gap:8px}.dialog-bottom p{max-width:none}.detail-facts{gap:18px}.detail-facts strong{font-size:16px}.sequence>div{flex-wrap:wrap}.sequence button{min-width:125px}.primary{text-align:center}.grades button{min-width:35px}}.catalog-path{display:flex;gap:10px;align-items:center;margin:22px 0;color:#65717b;font-size:14px}.catalog-path a{color:#0369a1;text-decoration:none}.concept-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:28px 0 22px}.concept-heading p{margin:9px 0 0}.concept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.concept-card{display:block;color:inherit;text-decoration:none;background:#fffdf9;border:1px solid #e7e1d7;border-radius:14px;overflow:hidden;transition:box-shadow .15s}.concept-card:hover{box-shadow:0 0 0 2px #9abccc}.concept-card>img{width:100%;height:165px;object-fit:cover}.concept-card>div{padding:21px}.concept-card h3{font-size:25px}.concept-card p{min-height:45px;font-size:14px;line-height:1.5;margin:10px 0 18px}.concept-card span{display:flex;justify-content:space-between;color:#0369a1;font-weight:600;font-size:13px}.catalog-note{font-size:13px;max-width:720px;line-height:1.7;margin-top:28px}.card-requirements{margin:12px 0 0!important;line-height:1.7!important}.requirements{margin-top:24px;padding:18px;border-radius:10px;background:#f2ede4}.requirements p{margin-bottom:0}.secondary{display:flex}.detail-facts{flex-wrap:wrap}.detail-facts>div{min-width:0;flex:1}nav{gap:18px}@media (max-width:950px){.concept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.concept-grid{grid-template-columns:1fr}.concept-heading{align-items:start;flex-direction:column;gap:5px}.concept-card>img{height:170px}.concept-card p{min-height:0}.secondary{display:flex;flex-wrap:wrap}.filter-row{gap:10px}.detail-facts{flex-direction:column;gap:15px}.taught-toggle{opacity:1}}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}.collection-grid>section{min-width:0}.collection-grid .grid{grid-template-columns:minmax(0,1fr)}.collection-grid .set-heading{display:block;min-height:104px;margin:24px 0 12px}.collection-grid .set-heading h2{font-size:24px;line-height:1.15}.collection-grid .set-status{font-size:12px;margin-top:10px;display:flex;flex-direction:row;justify-content:start;gap:6px}.collection-grid .set-status span{margin:0}@media (max-width:1000px){.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.collection-grid{grid-template-columns:minmax(0,1fr)}.collection-grid .set-heading{min-height:0}.collection-grid .set-status{margin-left:0}}.catalog-controls{display:flex;align-items:center;justify-content:space-between;margin-top:15px;padding-bottom:14px;border-bottom:1px solid #e7e1d7}.expand-filters{display:flex;gap:26px;align-items:center;border:1px solid #c9c4ba;border-radius:8px;background:#fffdf9;padding:11px 16px;color:#344655;font-weight:600}.expand-filters[aria-expanded=true]{border-color:#0369a1;color:#0369a1;background:#edf5f8}.expand-filters span{font-size:20px;line-height:1}.tag-panel{margin-top:16px;padding:22px 24px;border:1px solid #ddd6ca;border-radius:12px;background:#fffdf9;box-shadow:0 5px 16px #17203308}.filter-help{font-size:13px;margin:0 0 20px}.tag-panel fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}.tag-panel fieldset:last-child{margin:0}.tag-panel legend{font:600 19px League Spartan,sans-serif;margin-bottom:10px;padding:0}.filter-pills,.chosen-filters{display:flex;flex-wrap:wrap;gap:8px}.filter-pills button,.chosen-filters button{border:1px solid #d2cbbf;border-radius:24px;background:transparent;padding:9px 15px;color:#525b64;font-size:14px;min-height:38px}.filter-pills button:hover{border-color:#0369a1;color:#0369a1}.filter-pills button[aria-pressed=true]{background:#0369a1;border-color:#0369a1;color:#fff}.chosen-filters{margin-top:16px}.chosen-filters button{background:#e9f2f6;border-color:#ccdee7;color:#035b87;padding:6px 12px}.chosen-filters span{margin-left:8px}.measurement-sections>section{margin-top:32px}.measurement-sections .set-heading{display:flex;align-items:center;min-height:0;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid #e7e1d7}.measurement-sections .set-heading h2{font-size:28px}.measurement-sections .set-status{margin-left:auto}.measurement-sections .grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1000px){.measurement-sections .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.measurement-sections .grid{grid-template-columns:minmax(0,1fr)}.tag-panel{padding:18px 14px}.filter-pills{gap:7px}.filter-pills button{padding:9px 12px}.measurement-sections .set-status{width:auto;margin-left:auto}.browse-summary{gap:10px}.measurement-sections .set-heading h2{font-size:25px}}.taught-toggle[aria-pressed=true]{padding-inline:13px;gap:7px}.taught-toggle span{font:600 15px/1 League Spartan,sans-serif}.taught-toggle svg{flex-shrink:0}.expand-filters{height:42px;padding:0 16px;border:1px solid #d8d2c8;border-radius:8px;background:transparent;color:#575f69;font:700 17px League Spartan,sans-serif}.expand-filters span{font:inherit;line-height:1}.expand-filters[aria-expanded=true]{background:#0369a1;color:#fff;border-color:#0369a1}@media (max-width:650px){.expand-filters{height:40px}}
