/* Shared second-level catalog rhythm; exercise canvases keep their own sizing. */
body.section-hub .p-wrap,body.selection-hub .en-wrap{max-width:1288px;margin:0 auto;padding:28px 24px 50px}
body.section-hub .p-wrap>h1,body.selection-hub .en-intro h1{font-size:clamp(1.65rem,3.2vw,2.35rem);line-height:1.2;margin:12px 0 14px;letter-spacing:-.025em}
body.section-hub .p-back,body.selection-hub .en-intro>a{display:inline-block;font-size:.9rem;margin:0 0 12px;font-weight:500}
body.section-hub .p-lead,body.selection-hub .en-intro>p{font-size:1rem;line-height:1.55;max-width:850px;margin:0 0 24px;font-weight:400}
.section-hub nav.p-cards,.p-extras nav.p-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;grid-auto-rows:1fr;margin:24px 0 32px;color:#20394c;font-weight:400}
.p-cards>a.p-card{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto 1fr auto;align-items:start;gap:16px 12px;padding:22px;min-width:0;margin:0;border-radius:22px;box-shadow:none;transform:none}
.p-cards>a.p-card .p-card-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;font-size:1.45rem;border-radius:12px;background:#ffffff80;line-height:1}
.p-cards>a.p-card h2{align-self:center;margin:0;font-size:1.18rem;line-height:1.25;letter-spacing:-.015em;font-weight:750;min-height:2.5em;display:flex;align-items:center;overflow-wrap:normal;word-break:normal}
.p-cards>a.p-card p{grid-column:1/-1;margin:0;min-height:3em;font-size:.96rem;line-height:1.5;font-weight:400;color:#486477}
.p-cards>a.p-card small{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;gap:10px;margin:0;padding:10px 0 0;min-height:32px;font-size:.82rem;line-height:1.35;color:#315a77;font-weight:500}
.p-card-cta{font-weight:750;white-space:nowrap;margin-left:auto}.p-card-meta{font-weight:500}
.p-cards>a.p-card:hover{box-shadow:0 5px 18px #244b6b18}.p-cards>a.p-card:focus-visible{outline:3px solid #e9972e;outline-offset:4px}
.section-hub .p-extras{margin-top:30px;font-weight:400}.section-hub .p-extras>details{margin:0 0 28px}.section-hub .p-extras>details>summary{font-size:.98rem;font-weight:650;line-height:1.4;list-style:disclosure-closed}.section-hub .p-extras>details[open]>summary{list-style:disclosure-open}
.section-hub .p-extras>article{max-width:850px;margin:32px auto}
.selection-hub .en-cards{gap:18px;align-items:stretch;grid-auto-rows:1fr}.selection-hub .en-card-copy{min-height:234px}.selection-hub .en-card-desc{font-weight:400;min-height:2.7em}.selection-hub .en-section-head{margin-top:24px}
body.word-selection>main{max-width:1288px;margin:0 auto;padding:28px 24px 50px}body.word-selection>main>header{max-width:none;padding:0 0 16px;background:transparent;border:0;min-height:0}body.word-selection #menu>.intro h1{font-size:clamp(1.65rem,3.2vw,2.35rem);line-height:1.2;margin:12px 0 18px}body.word-selection #menu>.sets{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;grid-auto-rows:1fr}body.word-selection #menu .set{min-height:290px;box-shadow:none}body.word-selection #menu .set small{font-weight:400;line-height:1.5}body.word-selection #menu .set-art{height:110px;flex:none}body.word-selection #menu .set-status{margin-top:auto}
@media(max-width:700px){body.section-hub .p-wrap,body.selection-hub .en-wrap,body.word-selection>main{padding:22px 16px 36px}.section-hub nav.p-cards,.p-extras nav.p-cards,.selection-hub .en-cards,body.word-selection #menu>.sets{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.p-cards>a.p-card{grid-template-columns:1fr;grid-template-rows:38px auto 1fr auto;gap:12px;padding:16px;border-radius:20px}.p-cards>a.p-card h2{font-size:1.04rem;min-height:2.5em;line-height:1.25;align-items:start}.p-cards>a.p-card p{font-size:.88rem;line-height:1.45;min-height:4.35em}.p-cards>a.p-card small{display:flex;flex-direction:column;align-items:start;gap:6px;font-size:.76rem}.p-card-cta{margin-left:0}.section-hub .p-lead{font-size:.95rem}.section-hub .p-extras{margin-top:24px}body.word-selection #menu .set{min-height:290px;padding:15px 12px}body.word-selection #menu .set-art{height:88px}.selection-hub .en-section-head>span{display:none}}
@media(prefers-reduced-motion:reduce){.p-cards>a.p-card:hover{transform:none}}
