.subject-hero{padding-bottom:64px}.subject-hero .text-link{display:inline-flex;margin-top:20px}.subject-directory-browser{padding-top:55px;border-top:1px solid var(--line)}.subject-browser-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:end;margin-bottom:35px}.subject-browser-heading h2{font:400 clamp(2rem,3vw,3rem)/1.13 var(--serif);margin:12px 0 0}.subject-browser-heading p{font-size:.92rem;line-height:1.7;color:var(--muted);max-width:480px;margin:0}.subject-search{max-width:800px}.subject-search label{display:block;font-size:.78rem;margin-bottom:11px;color:var(--ink);font-weight:600}.subject-search>div{display:flex;gap:12px;align-items:stretch}.subject-search input{min-width:0;flex:1;border:1px solid #c8c2b8;border-radius:0;background:#fffdf8;color:var(--ink);font:inherit;font-size:.92rem;padding:16px 18px;min-height:54px}.subject-search input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.subject-search .btn{font-size:.75rem;padding:12px 18px;white-space:nowrap}.subject-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.subject-filters button{border:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:500 .76rem/1.4 var(--sans);padding:12px 15px;cursor:pointer;min-height:44px}.subject-filters button span{margin-left:8px;font-weight:400;opacity:.65}.subject-filters button:hover{border-color:var(--accent)}.subject-filters button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.subject-filters button:focus-visible,.subject-card button:focus-visible,.subject-card a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.subject-results{font-size:.76rem;color:var(--muted);margin:23px 0 25px;min-height:1.5em}.subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 26px}.subject-card{padding:0;align-items:stretch;display:flex;flex-direction:column;border:1px solid var(--line);background:#faf7f0;min-width:0;scroll-margin-top:110px}.subject-card[hidden],.subject-empty[hidden],[data-subject-reset][hidden]{display:none}.subject-card figure{margin:0;aspect-ratio:3/2;overflow:hidden;background:#eae4d8}.subject-card figure img{width:100%;height:100%;object-fit:cover;display:block}.subject-card-copy{display:flex;flex-direction:column;flex:1;padding:25px 25px 27px}.subject-group-label{font-size:.64rem;letter-spacing:.085em;text-transform:uppercase;color:var(--accent);line-height:1.7}.subject-card h2{font:400 1.85rem/1.12 var(--serif);letter-spacing:-.02em;margin:13px 0 15px}.subject-card p{font-size:.87rem;line-height:1.75;color:var(--muted);margin:0 0 25px}.subject-card-actions{display:flex;flex-direction:column;gap:13px;align-items:flex-start;margin-top:auto}.subject-card .text-link{border:0;background:none;cursor:pointer;padding:0;font:600 .8rem/1.5 var(--sans);text-align:left;min-height:32px}.subject-card .text-link span{margin-left:6px}.subject-resource-link{font-size:.75rem;line-height:1.5;color:var(--muted);text-underline-offset:4px}.subject-empty{border:1px dashed var(--line);padding:45px 30px}.subject-empty h2{font:400 2rem/1.2 var(--serif)}.subject-empty p{color:var(--muted);margin-bottom:25px}.subject-core{background:#eae7de;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.subject-core-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.subject-core-layout>figure{margin:0;aspect-ratio:3/2;overflow:hidden}.subject-core-layout>figure img{width:100%;height:100%;object-fit:cover;display:block}.subject-core h2{font:400 clamp(2.1rem,4vw,3.4rem)/1.1 var(--serif);margin:16px 0 24px}.subject-core p{font-size:.94rem;line-height:1.8;color:var(--muted);max-width:490px}.subject-core .actions{align-items:center;gap:18px}.subject-core .btn{font-size:.74rem;padding:16px 20px}.subject-core .text-link{font-size:.79rem}.subject-notes{padding-top:45px;padding-bottom:55px}.subject-notes p{max-width:1000px;font-size:.84rem;line-height:1.8;color:var(--muted)}.subject-notes p+p{margin-top:15px}.subject-notes strong{color:var(--ink)}.subject-notes .micro{font-size:.74rem}
@media(max-width:1000px){.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.subject-browser-heading{gap:35px}.subject-core-layout{gap:35px}.subject-card-copy{padding:23px}.subject-core h2{font-size:2.5rem}}
@media(max-width:620px){.subject-hero{padding-bottom:40px}.subject-directory-browser{padding-top:40px}.subject-browser-heading{grid-template-columns:1fr;gap:20px}.subject-browser-heading h2{font-size:2.2rem}.subject-browser-heading p{font-size:.88rem}.subject-search>div{flex-wrap:wrap}.subject-search input{width:100%;flex-basis:100%;font-size:16px}.subject-search .btn{min-height:44px}.subject-filters{gap:7px}.subject-filters button{font-size:.71rem;padding:10px 12px}.subject-filters button span{margin-left:5px}.subject-grid{grid-template-columns:1fr;gap:25px}.subject-card-copy{padding:25px}.subject-card h2{font-size:2rem}.subject-card-actions{gap:8px}.subject-card-actions .text-link,.subject-resource-link{min-height:44px;display:inline-flex;align-items:center}.subject-core-layout{grid-template-columns:1fr;gap:30px}.subject-core h2{font-size:2.55rem}.subject-core .actions{align-items:flex-start;flex-direction:column}.subject-notes{padding-top:30px;padding-bottom:35px}}
@media print{.subject-search,.subject-filters,.subject-card-actions{display:none}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-card{break-inside:avoid}.subject-card[hidden]{display:none}}
