.subject-page{--subject-accent:#567c9a;color:#1f3038;background:#fff}
.subject-breadcrumb{display:flex;align-items:center;gap:10px;max-width:1240px;margin:auto;padding:24px 28px 8px;color:#75838a;font-size:13px}
.subject-breadcrumb a{color:#526c76;text-decoration:none}.subject-breadcrumb a:hover{color:#213e4a;text-decoration:underline}
.subject-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;gap:50px;max-width:1240px;min-height:430px;margin:10px auto 0;padding:54px 60px;border:1px solid #e1e8e6;border-radius:28px;background:linear-gradient(125deg,#f7faf9 0%,#f5f8f0 100%);overflow:hidden}
.subject-hero-copy{position:relative;z-index:1}.subject-kicker{display:block;color:var(--subject-accent);font-size:11px;font-weight:800;letter-spacing:1.35px;line-height:1.5}
.subject-hero h1{max-width:740px;margin:16px 0;color:#1c303a;font:700 clamp(40px,5vw,60px)/1.08 var(--display);letter-spacing:-2.8px}
.subject-hero-copy>p{max-width:660px;margin:0;color:#596c75;font-size:17px;line-height:1.7}
.subject-hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:25px}.subject-hero-actions .button,.subject-bottom-cta{min-height:49px;padding:13px 18px;border-radius:9px;font-size:14px}
.subject-secondary{border:1px solid #cad7d2;background:#fff;color:#29434d}.subject-secondary:hover{border-color:#8ca99a;background:#f7faf7;color:#243b44}
.subject-hero-note{display:flex;flex-wrap:wrap;gap:18px;margin-top:23px;color:#536a70;font-size:12px;font-weight:600}.subject-hero-note span:before{content:"✓";margin-right:7px;color:var(--subject-accent);font-weight:800}
.subject-hero-art{position:relative;display:flex;min-height:280px;flex-direction:column;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--subject-accent),white 83%);border-radius:27px;background:radial-gradient(circle at 50% 43%,color-mix(in srgb,var(--subject-accent),white 85%) 0 28%,transparent 29%),linear-gradient(145deg,#fff,#f2f6f2);overflow:hidden}
.subject-hero-art:before,.subject-hero-art:after{content:"";position:absolute;width:255px;height:255px;border:1px solid color-mix(in srgb,var(--subject-accent),transparent 72%);border-radius:50%}.subject-hero-art:after{width:315px;height:315px;border-color:color-mix(in srgb,var(--subject-accent),transparent 85%)}
.subject-hero-art>span{z-index:1;color:var(--subject-accent);font:700 94px/1 var(--display);text-shadow:0 6px 25px color-mix(in srgb,var(--subject-accent),transparent 78%)}.subject-hero-art>b,.subject-hero-art>small{z-index:1;margin-top:19px;color:#29434d;font:700 18px var(--display)}.subject-hero-art>small{margin-top:5px;color:#75847c;font:500 13px var(--sans)}.subject-hero-art>i{position:absolute;top:25%;right:21%;width:11px;height:11px;border-radius:50%;background:var(--subject-accent);box-shadow:0 0 0 7px color-mix(in srgb,var(--subject-accent),transparent 85%)}
.subject-content{max-width:1040px;margin:0 auto;padding:28px 28px 80px}.subject-section{padding:48px 0;border-bottom:1px solid #e4eae7;scroll-margin-top:90px}.subject-section>h2,.subject-pending h2{max-width:790px;margin:10px 0 15px;color:#21363f;font:700 clamp(28px,3.5vw,39px)/1.2 var(--display);letter-spacing:-1.1px}.subject-lead,.subject-section>p{max-width:850px;color:#566b73;font-size:16px;line-height:1.8}.subject-section>p{font-size:15px}.subject-roadmap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:28px 0 0;padding:0;list-style:none}.subject-roadmap li{display:flex;align-items:flex-start;gap:15px;padding:18px 0;border-top:1px solid #e6ebe8}.subject-roadmap li>span{color:var(--subject-accent);font:800 13px var(--display)}.subject-roadmap p{margin:0;color:#3e535b;font-size:14px;line-height:1.55;font-weight:600}
.subject-topics{margin-top:24px;border-top:1px solid #e2e9e5}.subject-topic{border-bottom:1px solid #e2e9e5}.subject-topic>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 5px;cursor:pointer;list-style:none}.subject-topic>summary::-webkit-details-marker{display:none}.subject-topic>summary>span:first-child{display:grid;gap:4px}.subject-topic small{color:var(--subject-accent);font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase}.subject-topic b{color:#263a42;font:700 17px var(--display)}.subject-topic>summary>span:last-child{color:var(--subject-accent);font-size:21px}.subject-topic[open]>summary>span:last-child{transform:rotate(45deg)}.subject-topic-body{max-width:810px;padding:0 8px 18px 5px}.subject-topic-body p{color:#596d74;font-size:14px;line-height:1.7}.subject-topic-body h4{margin:14px 0 2px;color:#314750;font-size:13px}
.subject-two-column{display:grid;grid-template-columns:1fr 1fr;gap:42px}.subject-list{display:grid;gap:13px;margin:18px 0 0;padding:0;list-style:none}.subject-list li{position:relative;padding-left:22px;color:#52666e;font-size:14px;line-height:1.65}.subject-list li:before{position:absolute;left:0;top:1px;content:"✓";color:var(--subject-accent);font-weight:800}.subject-small-note{margin-top:18px;color:#74827f;font-size:12px;line-height:1.6}.subject-tip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:23px 0 0;padding:0;list-style:none}.subject-tip-grid li{padding:17px;border:1px solid #e2e9e5;border-radius:12px;background:#fafbf9;color:#4b6069;font-size:14px;line-height:1.6}.subject-inline-link{display:inline-flex;gap:8px;margin-top:10px;color:#315968;font-weight:700;text-decoration:none}.subject-inline-link:hover{text-decoration:underline}
.subject-tutor-list{display:grid;gap:10px;margin:22px 0}.subject-tutor{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #e1e8e4;border-radius:13px;background:white}.subject-tutor h3{margin:0 0 5px;font:700 17px var(--display)}.subject-tutor h3 a{color:#253b43;text-decoration:none}.subject-tutor h3 a:hover{text-decoration:underline}.subject-tutor p{margin:3px 0;color:#65766f;font-size:13px}.subject-small-cta{padding:9px 13px;border-radius:8px;font-size:12px;white-space:nowrap}.subject-empty{padding:19px;border-radius:12px;background:#f5f7f3;color:#60736e;font-size:14px;line-height:1.65}.subject-faq-list{margin-top:22px;border-top:1px solid #e2e9e5}.subject-faq{border-bottom:1px solid #e2e9e5}.subject-faq summary{padding:17px 5px;color:#304750;font-size:15px;font-weight:700;cursor:pointer}.subject-faq p{max-width:800px;margin:0;padding:0 5px 18px;color:#5e7177;font-size:14px;line-height:1.7}.subject-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:20px}.subject-related-card{display:flex;justify-content:space-between;padding:16px;border:1px solid #e0e8e4;border-radius:10px;color:#38565d;font-weight:700;text-decoration:none}.subject-related-card:hover{border-color:var(--subject-accent);background:#f7faf7}.subject-final-cta,.subject-pending{margin-top:42px;padding:36px;border:1px solid #dfe8dc;border-radius:19px;background:linear-gradient(130deg,#f4f8f0,#f4f8f9)}.subject-final-cta h2{margin:10px 0;color:#20363e;font:700 clamp(28px,3.7vw,40px)/1.15 var(--display);letter-spacing:-1px}.subject-final-cta p,.subject-pending p{max-width:650px;color:#596c72;font-size:15px;line-height:1.7}.subject-final-cta .subject-hero-actions{margin-top:18px}.subject-pending{margin:24px auto 0;max-width:1180px}
@media(max-width:900px){.subject-hero{gap:28px;padding:42px}.subject-roadmap{grid-template-columns:1fr}.subject-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.subject-breadcrumb{padding:17px 20px 5px;font-size:12px}.subject-hero{grid-template-columns:1fr;gap:25px;min-height:unset;margin:8px 14px 0;padding:29px 23px;border-radius:20px}.subject-hero h1{font-size:39px;letter-spacing:-1.8px}.subject-hero-copy>p{font-size:15px}.subject-hero-art{min-height:205px}.subject-hero-art>span{font-size:70px}.subject-content{padding:10px 20px 55px}.subject-section{padding:34px 0}.subject-section>h2,.subject-pending h2{font-size:29px}.subject-lead,.subject-section>p{font-size:14px}.subject-two-column{grid-template-columns:1fr;gap:30px}.subject-tip-grid{grid-template-columns:1fr}.subject-related-grid{grid-template-columns:1fr 1fr}.subject-tutor{align-items:flex-start;flex-direction:column}.subject-final-cta,.subject-pending{padding:25px 20px}.subject-final-cta .subject-hero-actions{flex-direction:column}.subject-final-cta .button{width:100%;justify-content:center}}
