:root{
  --ink:#19364a;--ink2:#40596b;--muted:#40596b;--paper:#fff;--canvas:#f5f8fa;
  --line:#cbd7de;--teal:#386675;--olive:#386675;--navy:#19364a;
  --coral:#a65440;--sun:#b58b49;--gold:#b58b49;--blue:#5c7d9c;--plum:#81749a;--sage:#7f9d9c;
  --shadow:0 10px 28px #19364a0c;--sans:Inter,"Avenir Next","Segoe UI",system-ui,-apple-system,sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--canvas)}
h1,h2,h3,h4{font-family:var(--sans)!important;letter-spacing:-.035em}
a{color:var(--teal)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b58b49;outline-offset:3px}
.topbar{position:sticky!important;top:0;z-index:50;background:#ffffffed!important;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)!important;box-shadow:0 3px 14px #19364a08!important}
.topbar .wrap,.topbar .nav{width:min(1220px,calc(100% - 40px));min-height:62px;padding:8px 0!important;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar .brand{position:relative;padding-left:43px;color:var(--ink)!important;font-size:17px!important;font-weight:780!important;line-height:1.05!important;text-decoration:none}
.topbar .brand:before,.home-footer .brand:before{content:"";position:absolute;left:0;top:50%;width:34px;height:34px;transform:translateY(-50%);background:url('/assets/brand/mark.svg') center/contain no-repeat}
.topbar .brand small{display:block;color:var(--muted)!important;font-size:9px!important;font-weight:680!important;letter-spacing:.12em!important;text-transform:uppercase;margin-top:5px!important}
.topbar .navlinks{display:flex;align-items:center;gap:3px;flex-wrap:nowrap}
.topbar .navlinks>a,.nav-more summary{padding:8px 10px!important;border-radius:8px;color:var(--ink2)!important;text-decoration:none;font-size:12px!important;font-weight:660!important;transition:background .16s,color .16s}
.topbar .navlinks>a:hover,.nav-more summary:hover{background:#eef3f5;color:var(--ink)!important}
.topbar .navlinks>a[aria-current=page]{background:#eaf0f3;color:var(--ink)!important}
.nav-more{position:relative}.nav-more summary{cursor:pointer;list-style:none}.nav-more summary::-webkit-details-marker{display:none}.nav-more summary:after{content:"⌄";margin-left:6px;color:var(--coral)}
.nav-more-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:205px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 12px 28px #19364a16}
.nav-more-menu a{display:block!important;padding:9px 10px!important;border-radius:7px!important;color:var(--ink2)!important;font-size:12px!important;text-decoration:none!important}.nav-more-menu a:hover{background:#f3f6f7!important;color:var(--ink)!important}
.button,.button.primary,button{border-radius:9px}.button.primary{background:var(--ink)!important;border-color:var(--ink)!important;color:white!important}.button.primary:hover{background:#31536a!important;border-color:#31536a!important}
.pill{background:#eaf0f3!important;color:#446b79!important;border-radius:999px!important}
.hero:not(.home-hero){background:#fff!important;border-bottom:1px solid var(--line)!important}
.section.white,.section:not(.dark){background:transparent!important}
.section.dark{background:#eaf0f3!important;color:var(--ink)!important}
.panel,.guide,.profile-panel,.contact-box,.search-panel,.subject-section,.editable-plan,.model-clinic,.lens-card{background:#fff!important;border:1px solid var(--line)!important;border-radius:11px!important;box-shadow:none!important}
.route,.writing-card,.graphic-card,.lesson-card,.skill-card,.resource-card,.lab-card,.result,.strategy-summary,.toolkit-card,.subject-example{background:#fff!important;border:1px solid var(--line)!important;border-radius:10px!important;box-shadow:none!important}
.route:hover,.writing-card:hover,.graphic-card:hover,.lesson-card:hover,.skill-card:hover,.resource-card:hover,.lab-card:hover,.result:hover,.strategy-summary:hover{box-shadow:0 8px 22px #19364a10!important}
.subject-examples,.new-strip,.portal-heading{background:#eaf0f3!important;border-color:var(--line)!important}
.roadmap-download .button,.actions .button,.pdf,.print,.button{box-shadow:none!important}
.button,.actions button,.pdf,.print{border-radius:8px!important}
.button:not(.primary),.actions button,.pdf.alt,.print{background:#fff!important;border:1px solid var(--line)!important;color:var(--ink2)!important}
.button:not(.primary):hover,.actions button:hover,.pdf.alt:hover,.print:hover{background:#f3f6f7!important;border-color:#bdcbd1!important}
.eyebrow,.step-label,.lesson-category,.skill-category{color:#386675}
.route-head img,.subject-mark img,.visual-preamble .symbol-panel img{filter:none;}
.builder-intro{padding-bottom:16px!important}.intro-mark{background:#eef3f5!important;border:1px solid var(--line)!important;border-radius:14px!important}
.setup-panel,.activity-browser,.sequence-panel{border:1px solid var(--line)!important;border-radius:11px!important;box-shadow:none!important}
.library-tab.active{background:#eaf0f3!important;color:#3e6572!important}
.activity-option{border-color:#e4eaed!important;border-radius:8px!important}.activity-option.added{border-color:#a9c5bd!important;background:#f7fbf9!important}
.activity-label,.phase-label,.skill-label{border-radius:999px!important}
.activity-option[data-skill="reading"] .skill-label{background:#eaf1f4!important;color:#496f7b!important}
.activity-option[data-skill="writing"] .skill-label{background:#f7ece8!important;color:#986454!important}
.activity-option[data-skill="speaking"] .skill-label{background:#f0edf5!important;color:#736687!important}
.activity-option[data-skill="listening"] .skill-label{background:#eaf0f6!important;color:#4e6d8b!important}
.activity-option[data-skill="grammar"] .skill-label{background:#f7f1e5!important;color:#8a6a35!important}
.activity-option[data-skill="vocabulary"] .skill-label{background:#edf2ef!important;color:#54736b!important}
.activity-add{border-color:#d3dfe4!important;color:#486d7a!important;border-radius:7px!important}.activity-add:hover{background:#edf3f5!important}
.sequence-count,.goal-line,.item-number{background:#eaf0f3!important;color:#496c78!important}
.sequence-panel .button.primary{background:var(--ink)!important}
.home-group .home-card,.home-group .home-card:hover{box-shadow:none!important}
.home-v2{background:var(--canvas)}
.home-main{width:min(1180px,calc(100% - 44px));padding:16px 0 46px}
.home-hero{grid-template-columns:1fr .92fr;gap:40px;align-items:center;padding:8px 0 18px}
.home-copy h1{font-size:clamp(42px,5.2vw,68px)!important;line-height:.99!important;max-width:11ch!important;margin-bottom:12px!important;letter-spacing:-.06em!important}
.home-copy h1 em{color:#52798b!important;font-style:normal}
.home-copy .eyebrow,.section-heading .eyebrow,.approach-copy .eyebrow{color:#6b7c86!important;font-size:10px!important;letter-spacing:.14em!important}
.home-lede{font-size:15px!important;line-height:1.55!important;max-width:42ch!important;margin-bottom:15px!important;color:var(--ink2)!important}
.home-quick-links{gap:9px 14px}.home-quick-links .button{padding:10px 14px!important;font-size:12px!important}.home-quick-links .text-link{font-size:12px!important}
.home-counts{margin-top:14px!important;padding-top:9px!important}.home-counts span{font-size:11px!important;color:var(--muted)!important}
.home-photo,.approach-photo{display:grid;place-items:center;position:relative;min-height:0!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}
.home-photo img,.approach-photo img{display:block;width:100%;height:auto!important;min-height:0!important;max-height:none!important;object-fit:contain!important;padding:0!important;border-radius:0!important}
.home-photo img{max-height:360px!important}.home-photo figcaption{position:absolute;left:3%;bottom:0;background:#fff!important;color:var(--muted)!important;padding:6px 9px!important;border:1px solid var(--line);border-radius:7px!important;font-size:10px!important;box-shadow:none!important}
.home-search{grid-template-columns:minmax(180px,.65fr) minmax(0,1.5fr);gap:8px 18px;background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:13px 15px!important;margin:0 0 14px!important;box-shadow:none!important}
.search-title h2{font-size:16px!important}.search-title p{font-size:11px!important}.search-mark{background:#eef3f5!important;color:#386675!important;border-radius:9px!important}
.home-search-form input,.home-search-form select{border-radius:7px!important;background:#fbfcfd!important;font-size:12px!important}.home-search-form button,#more-results{background:var(--ink)!important;border-radius:7px!important}
.search-status{font-size:10px!important}.home-results .result{border-radius:9px!important;background:#fbfcfd!important}
.new-strip{gap:10px!important;margin:9px 0 22px!important;padding:7px 11px!important;background:#eef3f5!important;border-radius:7px!important;border-left:3px solid var(--blue)!important}.new-strip .new-tag{font-size:9px!important;letter-spacing:.1em!important}.new-strip a{font-size:11px!important}
.home-sections{padding-top:5px!important}.section-heading{margin-bottom:8px!important}.section-heading h2{font-size:22px!important}
.home-groups{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:10px}
.home-group{min-width:0}.home-group-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:0 0 7px;margin-bottom:9px}.home-group-heading h3{font-size:14px!important;margin:0!important}.home-group-heading p{margin:0;color:var(--muted);font-size:10px}
.home-group .home-cards{grid-template-columns:1fr;gap:7px}
.home-group .home-card{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:1px 11px;align-items:center;min-height:72px!important;padding:11px 12px!important;border:1px solid var(--line)!important;border-radius:10px!important;box-shadow:none!important;background:white!important}
.home-group .home-card:hover{transform:translateY(-1px);border-color:#afc3ca!important;box-shadow:0 6px 16px #19364a0a!important}
.home-group .card-top{display:contents}.home-group .card-top img{grid-column:1;grid-row:1 / span 2;width:32px!important;height:32px!important;padding:5px!important;background:#eaf0f3!important;border-radius:9px!important}.home-group .card-top>span{display:none}
.home-group .home-card h3{grid-column:2;grid-row:1;font-size:13px!important;margin:0!important}.home-group .home-card p{grid-column:2;grid-row:2;font-size:10px!important;line-height:1.35!important;margin:2px 0 0!important}.home-group .home-card>a{grid-column:3;grid-row:1 / span 2;align-self:center;justify-content:flex-end;gap:6px;margin:0!important;padding:0!important;border:0!important;color:#54798b!important;font-size:10px!important;white-space:nowrap}
.home-approach{grid-template-columns:.48fr 1fr;gap:22px;align-items:center;margin-top:22px!important;background:#eaf0f3!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:12px 18px;}
.approach-photo{min-height:0!important}.approach-photo img{max-width:300px}.approach-copy{padding:8px 0!important}.approach-copy h2{font-size:22px!important;margin:0 0 5px!important}.approach-copy>p:not(.eyebrow){font-size:11px!important;line-height:1.5!important;margin-bottom:8px!important}.approach-copy .text-link{font-size:11px!important}
.home-footer{background:#fff!important;padding:17px 0!important}.home-footer .brand{position:relative;padding-left:42px}.home-footer .brand:before{width:30px;height:30px}.home-footer .brand small{color:var(--muted)!important;font-size:8px!important}.home-footer p{font-size:10px!important}
.lesson-hero-icon{background:#f3f6f7!important;border:1px solid var(--line)!important;border-radius:13px!important}.lesson-hero-icon:before,.lesson-hero-icon:after{border-color:#d5e1e6!important}.lesson-hero-icon svg{color:var(--blue)!important}
.lesson-card{border-radius:11px!important;box-shadow:none!important}.lesson-card:hover{box-shadow:0 10px 24px #19364a12!important}.lesson-card-top .lesson-icon{background:#eaf0f3!important;border-color:transparent!important}.lesson-card-art{height:3px!important}
.lesson-visual-figure{margin:18px 0 22px!important;border:1px solid var(--line)!important;border-radius:12px!important;overflow:hidden!important;background:white!important}.lesson-visual-figure figcaption{padding:9px 13px!important;font-size:10px!important;color:var(--muted)!important}.lesson-visual-figure figcaption a{color:var(--teal)!important}
.lesson-panel{border:1px solid var(--line)!important;border-radius:11px!important;box-shadow:none!important;padding:20px 22px!important}.lesson-panel h2{font-size:21px!important}.lesson-step{background:#fbfcfd!important;border-color:#e5ebee!important;border-radius:8px!important}.lesson-step strong{font-size:15px!important}.lesson-step p{font-size:11px!important}
.lesson-aside .lesson-panel{padding:16px!important}.lesson-aside h3{font-size:16px!important}.lesson-aside li{font-size:11px!important}
.lesson-download{display:inline-flex;align-items:center;gap:8px;padding:9px 12px!important;border-radius:8px!important;background:var(--ink)!important;color:white!important;text-decoration:none!important;font-size:11px!important;font-weight:700!important;box-shadow:none!important}.lesson-download small{color:#d3dfe5!important;font-size:9px!important}
.lesson-hero .lesson-download{margin-top:14px}.lesson-toolbar .quiet-print{display:none!important}
.lesson-grid.compact-view{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.lesson-grid.compact-view .lesson-card{min-height:168px!important}
.lesson-grid.compact-view .lesson-thumb{display:none!important}
.lesson-grid.compact-view .lesson-icon{display:grid!important;width:42px!important;height:42px!important;background:#eaf0f3!important;border:0!important;border-radius:11px!important;color:#386675!important}
.lesson-grid.compact-view .lesson-icon img{width:26px!important;height:26px!important}
.lesson-grid:not(.compact-view) .lesson-icon{display:none!important}
.lesson-grid:not(.compact-view) .lesson-thumb{display:block!important}
.lesson-browser-tools{border:1px solid var(--line)!important;border-radius:10px!important;background:white!important;padding:8px 10px!important;margin:14px 0!important;gap:6px!important}
.lesson-browser-tools button{border-radius:7px!important;background:#f6f8f9!important;border-color:var(--line)!important;padding:7px 9px!important;color:var(--ink2)!important;font-size:10px!important}
.lesson-browser-tools button[aria-pressed=true]{background:#eaf0f3!important;color:var(--ink)!important;border-color:#cbd8de!important}
.lesson-card .lesson-category{color:var(--category-color,#386675)!important}
.lesson-toolbar{border-top:1px solid var(--line);padding-top:12px;margin-top:16px!important}.lesson-pagination{margin-top:15px!important}
.downloads-drawer,.download-drawer{border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 12px;margin:12px 0!important}
.downloads-drawer summary,.download-drawer summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;padding:11px 0!important;color:var(--ink)!important;font-size:11px!important;font-weight:700!important}
.downloads-drawer summary::-webkit-details-marker,.download-drawer summary::-webkit-details-marker{display:none}
.downloads-drawer summary:after,.download-drawer summary:after{content:"＋";margin-left:auto;color:var(--coral);font-size:15px}.downloads-drawer[open] summary:after,.download-drawer[open] summary:after{content:"−"}
.downloads-options,.download-drawer>div{display:flex;flex-wrap:wrap;gap:7px 14px;border-top:1px solid var(--line);padding:10px 0 12px}
.downloads-options a,.download-drawer a{display:inline-flex!important;align-items:center;gap:5px;padding:4px 0!important;border:0!important;background:transparent!important;color:var(--ink2)!important;font-size:10px!important;font-weight:650!important;text-decoration:underline!important;text-decoration-color:#b8c7cd!important;text-underline-offset:3px;box-shadow:none!important}
@media(max-width:850px){.home-hero{grid-template-columns:1fr .85fr;gap:22px}.home-groups{gap:14px}.topbar .navlinks{gap:1px}.topbar .navlinks>a,.nav-more summary{padding:7px 7px!important;font-size:11px!important}.lesson-grid.compact-view{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.topbar .wrap,.topbar .nav{width:calc(100% - 28px);align-items:center;flex-direction:row!important;gap:8px!important}.topbar .brand{font-size:15px!important}.topbar .brand small{font-size:8px!important}.topbar .navlinks{max-width:68vw;overflow-x:auto;scrollbar-width:none;gap:2px}.topbar .navlinks::-webkit-scrollbar{display:none}.topbar .navlinks>a,.nav-more summary{padding:6px 7px!important;font-size:10px!important;white-space:nowrap}.nav-more-menu{position:fixed!important;top:58px!important;right:12px!important;left:auto!important;max-height:calc(100vh - 75px);overflow:auto}.home-main{width:calc(100% - 30px);padding-top:10px}.home-hero{grid-template-columns:1fr;gap:8px;padding-top:8px}.home-copy h1{font-size:clamp(40px,10.5vw,54px)!important}.home-photo img{max-height:245px!important}.home-photo figcaption{font-size:9px!important}.home-search{padding:12px!important}.home-groups{grid-template-columns:1fr;gap:17px}.home-group .home-card{min-height:68px!important}.home-group .home-card p{max-width:none}.home-approach{grid-template-columns:1fr;gap:5px;padding:12px 15px}.approach-photo img{max-width:210px;max-height:125px}.approach-copy{padding:4px 0!important}.approach-copy h2{font-size:20px!important}.lesson-view{padding:20px 0 48px!important}.lesson-hero{gap:14px!important}.lesson-hero-icon{min-height:130px!important;grid-row:1}.lesson-body{margin-top:12px!important}.lesson-panel{padding:16px!important}.lesson-toolbar{align-items:flex-start;flex-direction:row!important}.lesson-page-only .topbar .navlinks a{display:inline-flex!important}.lesson-grid.compact-view{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Consistent grouped navigation across every resource page */
.nav-more-menu{min-width:224px;padding:8px!important}
.menu-group{padding:5px 3px 7px}.menu-group+.menu-group{border-top:1px solid var(--line);padding-top:8px;margin-top:3px}.menu-group>span{display:block;padding:3px 9px 4px;color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.nav-more-menu .menu-group a{padding:7px 9px!important;font-size:11px!important}

.topbar .navlinks>a[aria-current=page],.nav-more-menu a[aria-current=page]{background:#eaf0f3!important;color:var(--ink)!important;font-weight:760!important}.nav-more-menu a[aria-current=page]:before{content:"•";color:var(--coral);margin-right:7px}

/* Skills handbook: keep downloads available without letting them dominate the page */
.skills-download-drawer{margin:12px 0 16px!important;border-radius:9px!important}.skills-download-drawer summary{padding:10px 2px!important;font-size:12px!important}.skills-download-drawer summary small{margin-left:auto;color:var(--muted);font-size:10px;font-weight:500}.skills-download-list{display:block!important;padding:9px 0 12px!important}.skills-download-head,.skills-download-item{display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,.7fr) minmax(130px,.8fr);gap:10px;align-items:center}.skills-download-head{padding:5px 10px;color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.skills-download-item{padding:7px 10px;border-top:1px solid #edf1f3;font-size:11px}.skills-download-item strong{font-size:11px}.skills-download-list .skills-download-item a,.skills-download-list>a{display:inline-flex!important;padding:3px 0!important;text-decoration:underline!important;text-underline-offset:3px;font-size:10px!important}.skills-download-list .skills-toolkit-link{margin:8px 10px 0!important;padding-top:9px!important;border-top:1px solid var(--line)!important}.skills-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 5px!important}.skills-actions span{font-size:12px;color:var(--muted)}.skills-actions button{padding:7px 11px!important;font-size:11px!important}.focus-legend{font-size:11px!important;margin:5px 0 11px!important}.activity-choice-spotlight,.icon-download-note{display:none!important}@media(max-width:560px){.skills-download-head{display:none}.skills-download-item{grid-template-columns:1fr auto auto;gap:8px}.skills-download-item strong{grid-column:1/-1}.skills-download-drawer summary small{display:none}}
