/* The subject landing page is isolated from the existing lesson typography. */
html.subject-home-open #dl-app,
html:not(.subject-home-open) #subject-home,
#subject-home[hidden],#dl-app[hidden]{display:none!important}
html.subject-home-open{scroll-behavior:auto}
#subject-home{min-height:100vh;background:#f8f7f0;color:#193e35;font-family:StudySans,'Segoe UI',Arial,sans-serif;display:flex;flex-direction:column}
#subject-home .subject-header{max-width:1200px;width:100%;margin:0 auto;padding:28px 42px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #dce2d6}
#subject-home .subject-brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:1.6px;line-height:1.4;color:#193e35}
#subject-home .subject-brand small{display:block;font-weight:400;font-size:12px;letter-spacing:0;margin-top:4px;color:#67776c}
#subject-home .subject-brand-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:#193e35;flex-shrink:0}
#subject-home .subject-brand-icon svg{width:29px;height:29px;fill:none;stroke:#edf1d9;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#subject-home .subject-term{font-size:12px;color:#65786d;letter-spacing:.15px}
#subject-home #subject-main{width:100%;max-width:1200px;min-width:0;margin:0 auto;padding:64px 42px 38px;flex:1;background:none}
#subject-home .subject-intro{max-width:740px;margin-bottom:39px}
#subject-home .subject-kicker{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#67796d;font-weight:650;margin:0 0 16px;line-height:1.5}
#subject-home .subject-intro h1{font:400 clamp(38px,4.8vw,60px)/1.1 Georgia,'Times New Roman',serif;letter-spacing:-1.6px;margin:0 0 19px;color:#193e35}
#subject-home .subject-intro>p:last-child{font-size:17px;line-height:1.8;color:#526b5d;margin:0}
#subject-home .subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
#subject-home .subject-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:29px 30px 25px;text-decoration:none;border:1px solid #d2dccd;border-radius:13px;background:#fffef9;color:#193e35;box-shadow:0 3px 15px #233d2810;transition:border-color .15s,box-shadow .15s}
#subject-home .subject-card:hover{border-color:#648978;box-shadow:0 6px 23px #233d2818}
#subject-home .subject-card:focus-visible{outline:3px solid #9a542e;outline-offset:5px}
#subject-home .subject-monogram{font:400 31px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-1.6px;min-width:61px;padding:9px 12px;background:#e8efdf;border-radius:9px;margin:0 0 23px;text-align:center;color:#224b3c}
#subject-home .subject-monogram>span{color:#8c6542}
#subject-home .subject-nlp .subject-monogram{background:#e3eeea;color:#204d48}
#subject-home .subject-is2 .subject-monogram{background:#f1eadb;color:#6e4524}
#subject-home .subject-card-copy{flex:1}
#subject-home .subject-category{font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.5px;margin:0 0 11px;color:#416750}
#subject-home .subject-card h2{font:400 clamp(27px,2.6vw,34px)/1.22 Georgia,'Times New Roman',serif;letter-spacing:-.6px;color:#193e35;margin:0 0 18px}
#subject-home .subject-card-copy>p:last-child{font-size:15px;line-height:1.8;color:#5b6f62;margin:0 0 25px;max-width:360px}
#subject-home .subject-card-bottom{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e0e5d9;padding-top:20px;line-height:1.5}
#subject-home .subject-card-bottom>span{font-size:11px;color:#697d6e;letter-spacing:.5px;white-space:nowrap}
#subject-home .subject-card-bottom strong{font-size:13px;font-weight:650;color:#254f3b}
#subject-home .subject-card-bottom strong span{margin-left:7px;font-size:18px}
#subject-home .subject-guidance{font-size:13px;color:#6a7a6e;text-align:center;line-height:1.7;margin:29px 0 0}
#subject-home .subject-footer{width:calc(100% - 84px);max-width:1116px;align-self:center;display:flex;justify-content:space-between;gap:16px;padding:22px 0 25px;border-top:1px solid #dce2d6;color:#718072;font-size:11px;line-height:1.6;margin:0 auto}
.subject-home-link{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:36px;padding:5px 7px;color:#214c3d;text-decoration:none;font-family:'Segoe UI',Arial,sans-serif;font-size:12px;font-weight:600;border-radius:5px;white-space:nowrap}
.subject-home-link:hover{background:#eaf0e3;text-decoration:underline;text-underline-offset:4px}
.subject-home-link:focus-visible{outline:3px solid #9a542e;outline-offset:3px}
@media(max-width:1020px){#subject-home .subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 #subject-home .subject-header{padding:23px 25px}
 #subject-home .subject-term{max-width:180px;text-align:right;font-size:11px}
 #subject-home #subject-main{padding:43px 25px 30px}
 #subject-home .subject-intro{margin-bottom:29px}
 #subject-home .subject-grid{gap:18px}
 #subject-home .subject-card{padding:24px 22px 21px}
 #subject-home .subject-card h2{font-size:28px}
 #subject-home .subject-card-bottom{align-items:flex-start;flex-direction:column;gap:7px}
 #subject-home .subject-footer{width:calc(100% - 50px);margin:0 25px}
}
@media(max-width:560px){
 #subject-home .subject-header{padding:19px 21px}
 #subject-home .subject-term{display:none}
 #subject-home #subject-main{padding:37px 21px 27px}
 #subject-home .subject-intro h1{font-size:39px;letter-spacing:-1px}
 #subject-home .subject-kicker{font-size:10px;letter-spacing:1px}
 #subject-home .subject-intro>p:last-child{font-size:15px;line-height:1.8}
 #subject-home .subject-desktop-break{display:none}
 #subject-home .subject-grid{grid-template-columns:1fr;gap:19px}
 #subject-home .subject-card{padding:24px}
 #subject-home .subject-monogram{margin-bottom:20px}
 #subject-home .subject-card h2{font-size:29px}
 #subject-home .subject-card-copy>p:last-child{margin-bottom:23px}
 #subject-home .subject-card-bottom{flex-direction:row;align-items:center;gap:12px}
 #subject-home .subject-footer{width:calc(100% - 42px);margin:0 21px;flex-direction:column;gap:5px;padding:18px 0}
 #dl-app>.topbar{gap:8px}
}
@media(max-width:360px){
 #subject-home .subject-card{padding:22px 20px}
 #subject-home .subject-card-bottom{align-items:flex-start;flex-direction:column;gap:8px}
 #dl-app>.topbar .brand>span:last-child{display:none}
 .subject-home-link{padding:5px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){#subject-home .subject-card{transition:none}}
@media print{#subject-home .subject-header,#subject-home .subject-footer{display:none}#subject-home #subject-main{padding:0}#subject-home .subject-card{box-shadow:none;break-inside:avoid}}

#subject-home .subject-dm .subject-monogram{background:#e5eaf4;color:#3e536e}

#subject-home .subject-apr .subject-monogram{background:#f1e6d4;color:#775429}
#subject-home .subject-cn .subject-monogram{background:#e4ebf5;color:#305c80}
