.catalog-home{max-width:1120px;margin:auto;padding:32px 24px 40px}
.catalog-intro{margin-bottom:24px}
.catalog-intro h1{font-size:clamp(30px,3vw,38px);line-height:1.5;margin:0 0 8px;letter-spacing:-.5px}
.catalog-intro p{font-size:18px;line-height:1.8;color:var(--muted)}
.catalog-categories{display:grid;gap:14px}
.catalog-category{background:var(--surface);border:1px solid var(--line);border-radius:18px;scroll-margin-top:calc(var(--header-height) + 18px)}
.catalog-home summary{cursor:pointer;list-style:none}
.catalog-home summary::-webkit-details-marker{display:none}
.catalog-home summary::marker{content:""}
.catalog-home summary:hover{background:var(--surface-soft)}
.catalog-home summary:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:12px}
.catalog-category>summary{padding:21px 24px;border-radius:18px}
.catalog-category>summary h2{display:flex;align-items:center;gap:18px;font-size:25px;line-height:1.5;margin:0;font-weight:700}
.catalog-stage-icon{width:52px;height:52px;display:grid;place-items:center;background:var(--surface-soft);color:var(--green);border:1px solid var(--line);border-radius:15px;flex:none}
.catalog-stage-icon .ui-icon{width:27px;height:27px}
.catalog-stage-name{flex:1;min-width:0}
.catalog-stage-name small{display:block;font-size:16px;font-weight:400;color:var(--muted);margin-top:3px}
.catalog-stage-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:16px;font-weight:400;color:var(--muted)}
.catalog-available{display:inline-block;color:var(--green);background:var(--surface-soft);border:1px solid var(--line);border-radius:30px;padding:3px 11px;font-size:15px;line-height:1.6;font-weight:600;white-space:nowrap}
.catalog-planned{font-size:15px;font-weight:400;color:var(--muted);white-space:nowrap}
.catalog-chevron{width:22px;height:22px;flex:none;color:var(--muted)}
details[open]>summary .catalog-chevron{transform:rotate(180deg)}
.catalog-category[open]>summary{border-bottom:1px solid var(--line);border-radius:18px 18px 0 0;background:var(--surface-soft)}
.catalog-category-content{padding:22px 24px 26px}
.catalog-section-note{font-size:17px;line-height:1.85;color:var(--muted);margin:0 0 18px;max-width:850px}
.catalog-grades,.catalog-subjects{display:grid;gap:10px}
.catalog-grade,.catalog-subject{border:1px solid var(--line);border-radius:13px;background:var(--surface);scroll-margin-top:calc(var(--header-height) + 18px)}
.catalog-grade>summary,.catalog-subject>summary{padding:16px 18px;border-radius:13px}
.catalog-grade summary h3,.catalog-subject summary h3{display:grid;align-items:center;gap:8px 14px;font-size:20px;line-height:1.55;font-weight:600;margin:0}
.catalog-grade summary h3{grid-template-columns:minmax(0,1fr) auto}
.catalog-grade summary .catalog-chevron{grid-column:2;grid-row:1}
.catalog-grade summary .catalog-available{grid-column:1;grid-row:2;justify-self:start}
.catalog-subject summary h3{grid-template-columns:32px minmax(0,1fr) 22px}
.catalog-subject summary .catalog-chevron{grid-column:3;grid-row:1}
.catalog-subject summary .catalog-available{grid-column:2;grid-row:2;justify-self:start}
.catalog-grade summary h3>span:first-child{flex:1}
.catalog-grade small{display:block;font-size:16px;color:var(--muted);font-weight:400;margin-top:2px}
.catalog-subject summary h3>span:nth-child(2){flex:1;min-width:0}
.catalog-subject-icon{display:grid;place-items:center;width:32px;height:32px;color:var(--green);flex:none}
.catalog-subject-icon .ui-icon{width:24px;height:24px}
.catalog-domain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 26px;padding:4px 18px 22px}
.catalog-domain{min-width:0}.catalog-domain h4{font-size:18px;line-height:1.6;margin:8px 0 9px;color:var(--ink)}
.catalog-topics{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.catalog-topic{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.75}
.catalog-topic>span:first-child{min-width:0}.catalog-topic .catalog-planned{flex:none}
.catalog-ready-link{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;color:var(--green);font-weight:600;border-radius:7px;text-decoration:underline;text-underline-offset:4px}
.catalog-ready-link:hover{background:var(--surface-soft)}
.catalog-ready-label{font-size:15px;display:flex;align-items:center;gap:6px;flex:none;white-space:nowrap}
.catalog-ready-label .ui-icon{width:18px;height:18px}
.catalog-subject-content{padding:0 18px 18px}
.catalog-subject-content>p{font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 12px}
.catalog-topic-partial{display:block}.catalog-topic-partial>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.catalog-topic-partial .catalog-ready-link{padding:9px 12px;margin-top:10px;background:var(--surface-soft);border:1px solid var(--line);border-radius:10px}
.catalog-activities{font-size:16px;color:var(--muted);margin-top:16px}
.catalog-activities summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;color:var(--ink)}
.catalog-activities p{line-height:1.8;margin-top:8px}
.catalog-note{margin-top:26px;padding:20px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:16px;line-height:1.85}
.catalog-note p+p{margin-top:6px}.catalog-note strong{color:var(--ink)}
.catalog-note a{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:8px;color:var(--green);text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){
 .catalog-home{padding:24px 18px 30px}.catalog-intro{margin-bottom:20px}.catalog-intro h1{font-size:30px}.catalog-intro p{font-size:17px}
 .catalog-categories{gap:12px}.catalog-category>summary{padding:16px}.catalog-category>summary h2{gap:12px;font-size:23px;flex-wrap:wrap}
 .catalog-stage-icon{width:42px;height:42px;border-radius:12px}.catalog-stage-icon .ui-icon{width:24px;height:24px}
 .catalog-stage-name small{font-size:15px}.catalog-stage-meta{flex-basis:calc(100% - 56px);margin-left:54px;flex-direction:row;align-items:center;justify-content:space-between;font-size:15px;gap:8px;order:2}
 .catalog-stage-meta .catalog-available{font-size:14px;padding:2px 8px}.catalog-stage-meta .catalog-planned{font-size:14px}
 .catalog-category-content{padding:18px 14px 20px}.catalog-section-note{font-size:16px;margin-bottom:16px}
 .catalog-grade>summary,.catalog-subject>summary{padding:14px 12px}.catalog-grade summary h3,.catalog-subject summary h3{font-size:18px;gap:10px;flex-wrap:wrap}
 .catalog-grade summary h3>span:first-child{min-width:150px}.catalog-grade summary .catalog-available{font-size:14px;order:2}.catalog-grade small{font-size:15px}
 .catalog-subject summary h3 .catalog-available{margin-left:0}.catalog-subject summary h3{grid-template-columns:26px minmax(0,1fr) 22px}.catalog-subject-icon{width:26px}.catalog-subject-icon .ui-icon{width:22px;height:22px}
 .catalog-domain-grid{grid-template-columns:1fr;padding:0 12px 18px;gap:18px}.catalog-domain h4{font-size:18px}
 .catalog-topic{font-size:16px;gap:8px;flex-wrap:wrap;padding:11px 0}.catalog-topic .catalog-planned{font-size:14px}
 .catalog-ready-link{gap:12px;font-size:17px;flex-wrap:wrap}.catalog-ready-label{font-size:15px;gap:5px}
 .catalog-subject-content{padding:0 12px 16px}.catalog-topic-partial>div{flex-wrap:wrap;gap:4px}
 .catalog-note{margin-top:22px;font-size:16px}
}
@media(max-width:360px){
 .catalog-home{padding-right:14px;padding-left:14px}.catalog-category>summary{padding:14px 12px}.catalog-category>summary h2{gap:10px;font-size:22px}.catalog-stage-icon{width:34px;height:38px}.catalog-stage-name small{font-size:14px}.catalog-stage-meta{margin-left:44px;flex-basis:calc(100% - 44px);flex-wrap:wrap;justify-content:flex-start}.catalog-grade summary .catalog-available{margin-top:2px}
}
.catalog-p1-subjects{display:grid;gap:12px;padding:0 18px 18px}.catalog-unit-nav{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 24px}.catalog-unit-nav a{padding:8px 13px;min-height:44px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);font-size:17px;line-height:1.6;color:var(--ink)}.catalog-unit-nav a:hover{border-color:var(--green)}.catalog-unit{scroll-margin-top:calc(var(--header-height) + 20px);margin:26px 0}.catalog-unit h5{font-size:20px;line-height:1.6;margin:0 0 10px;color:var(--ink)}.catalog-p1-subject>summary h4 small{font-size:16px;color:var(--muted);font-weight:400}.catalog-p1-subject .catalog-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.catalog-p1-subject .catalog-ready-link{height:100%}.catalog-section-note a{text-decoration:underline;text-underline-offset:4px}@media(max-width:700px){.catalog-p1-subjects{padding:0 10px 16px}.catalog-p1-subject .catalog-topics{grid-template-columns:1fr}.catalog-unit-nav a{font-size:16px;padding:8px 10px}.catalog-unit h5{font-size:19px}}

.catalog-p1-subject>summary h4{display:grid;grid-template-columns:32px minmax(0,1fr) 22px;align-items:center;gap:8px 14px;margin:0;font-size:20px;line-height:1.6;font-weight:600;color:var(--ink)}.catalog-p1-subject>summary h4>span:nth-child(2){min-width:0}.catalog-p1-subject>summary h4 .catalog-chevron{grid-column:3;grid-row:1}.catalog-p1-subject>summary h4 .catalog-available{grid-column:2;grid-row:2;justify-self:start}@media(max-width:700px){.catalog-p1-subject>summary h4{grid-template-columns:26px minmax(0,1fr) 22px;font-size:18px;gap:8px 10px}}
@media(max-width:700px){.catalog-p1-subjects{padding:0 0 16px}.catalog-p1-subject{border-left:0;border-right:0;border-radius:0}.catalog-p1-subject .catalog-ready-link{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:10px}.catalog-p1-subject .catalog-ready-label{font-size:0;gap:0}.catalog-p1-subject .catalog-ready-label .ui-icon{width:20px;height:20px}}

/* Kindergarten topics stay folded by developmental area as the catalogue grows. */
.catalog-early-domains{display:grid;gap:12px;padding:0 18px 18px}
.catalog-early-domain>summary h4{display:grid;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:14px;margin:0;font-size:20px;line-height:1.6;color:var(--ink)}
.catalog-early-domain>summary h4 small{display:block;font-size:16px;font-weight:400;color:var(--muted);margin-top:4px}
.catalog-early-domain .catalog-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
@media(max-width:700px){.catalog-early-domains{padding:0 0 16px}.catalog-early-domain{border-left:0;border-right:0;border-radius:0}.catalog-early-domain>summary h4{font-size:18px}.catalog-early-domain .catalog-topics{grid-template-columns:1fr}.catalog-early-domain .catalog-ready-link{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:10px}.catalog-early-domain .catalog-ready-label{font-size:0;gap:0}.catalog-early-domain .catalog-ready-label .ui-icon{width:20px;height:20px}}
